たった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超入門 実践 CHAPTER3 – ふうがITビジネス