Skip to content

Commit

Permalink
feat: Dockerfile
Browse files Browse the repository at this point in the history
  • Loading branch information
kenken714 committed Nov 11, 2024
1 parent a4f6c82 commit 7b791ce
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 7 deletions.
14 changes: 8 additions & 6 deletions docs/chapter2/section4/1_image.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
- `/greeting`への GET リクエストに、環境変数 `GREETING_MESSAGE`の値を返す。
- 起動するポートを環境変数`PORT`で指定できる。

ただし、 listen する IP アドレスとして、**必ず `0.0.0.0` を指定してください。**

:::details 答え
<<< @/chapter2/section4/src/main.rs

Expand Down Expand Up @@ -51,23 +53,23 @@ Dockerfile を書くと自分で必要な機能がそろったコンテナを立

ただ、アプリケーションを動かすだけであれば一度書いた Dockerfile を使いまわすことも可能なので、テンプレートを探してきてそれを使っても構いません。

以下が Go のプログラムを動かすための最小の Dockerfile です。
以下が Rust のプログラムを動かすための最小の Dockerfile です。

```Dockerfile
# Go のベースイメージを指定
FROM golang:1.20.5-alpine
# Rust のベースイメージを指定
FROM rust:latest

# コマンドを実行するコンテナ内のディレクトリをworkに指定
WORKDIR /work

# ローカルのカレントディレクトリをコンテナのカレントディレクトリ(work)にコピー
COPY . .

# Go のプログラムをビルド
RUN go build -o app
# Rust のプログラムをビルド
RUN cargo build --release

# ビルドしたものを実行
ENTRYPOINT ./app
ENTRYPOINT ["./target/release/naro-server"]
```

naro_server ディレクトリ内に`Dockerfile`というファイルを作り、上のコードを書きましょう。
Expand Down
2 changes: 1 addition & 1 deletion docs/chapter2/section4/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ async fn main() {

let app = Router::new().route("/greeting", get(greeting_handler));

let addr = std::net::SocketAddr::from(([127, 0, 0, 1], port));
let addr = std::net::SocketAddr::from(([0, 0, 0, 0], port));

let listener = tokio::net::TcpListener::bind(&addr).await.unwrap();

Expand Down

0 comments on commit 7b791ce

Please sign in to comment.