たった1日で基本が身に付く! Docker/Kubernetes超入門 実践 CHAPTER4

SECTION01

アプリ開発の流れとDockerfileの利点

読むだけです。

アプリサーバーをDockerfileでビルドしてみよう

本にしたがって進めましょう。

CHAPTER3で作成したコンテナが残っている可能性が高いので、stopしてrmしておきましょう。

差分キャッシュを使った時短ビルドを試してみよう

本にしたがって進めましょう。

ディレクトリのコピーと.dockerignore

DockerfileがCentOS用でもう使えないので、下記のように、Ubuntu用に書き換えました。

FROM ubuntu:22.04

# 必要なパッケージのインストール
RUN apt-get update && apt-get install -y \
    nginx \
    && rm -rf /var/lib/apt/lists/*

# デフォルトのnginxユーザーは www-data
VOLUME /volume
EXPOSE 80

# nginxユーザーに一時的に切り替え
USER www-data

# htmlファイルを配置
ADD html.tar.gz /var/www/

# rootに戻して起動コマンド指定
USER root
ENTRYPOINT ["nginx", "-g", "daemon off;"]

SECTION02

Alpine LinuxでGo言語のアプリサーバーを作成してみよう

本にしたがって進めましょう。

ステージングビルドで容量削減してみよう

本にしたがって進めましょう。

バイナリアプリのみのコンテナを作ってみよう

本にしたがって進めましょう。

Dockerfileを作るコツ

読むだけです。

SECTION03

アプリをPID1として起動しよう

手を動かす部分もありますが、読むだけでよいと思います。

終了シグナルをハンドルしてアプリを安全に停止させよう

ファイルの内容が書かれてますが、動かし方は書いてないので、スルーします。

supervisorで複数の子プロセス(アプリ本体)を管理しよう

Dockerfileですが、Ubuntu用に書き換えます。

FROM ubuntu:22.04

# タイムゾーンの設定をスキップするための環境変数
ENV DEBIAN_FRONTEND=noninteractive

# 必要なパッケージのインストール
RUN apt-get update && apt-get install -y \
    nginx \
    openssh-server \
    supervisor \
    && rm -rf /var/lib/apt/lists/*

# SSHホストキーの生成
RUN mkdir -p /run/sshd
RUN ssh-keygen -A

# Supervisor の設定ファイルをコピー
COPY supervisord.conf /etc/supervisord.conf

# ポート開放(SSH:22, HTTP:80)
EXPOSE 22 80

# Supervisor を起動
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisord.conf"]

上記以外は、本にしたがって進めましょう。

SECTION04

GitHubの利用法を知ろう

読むだけです。

GitHubを使ったDockerイメージの開発手順を試そう

本にしたがって進めましょう。

CHAPTER4は以上になります。

続きはこちら

たった1日で基本が身に付く! Docker/Kubernetes超入門 実践 CHAPTER4」への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


reCaptcha の認証期間が終了しました。ページを再読み込みしてください。