1. dockerfile作成

大まかな指針 ・手打ちでたたいたコマンドや操作をdockerfileに記述 ・buildして意図した結果が得られることを確認 ・記述内容をさらにまとめる。

2. コマンドをたたく

2.1. イメージ取得 ~ コンテナ作成

ベースとなるイメージを決める。

docker pullでイメージ取得可能。

pullしてきたイメージがdockerfileにおけるFROMになる。

例)centosを取得してポート指定で起動

docker container run -it -d -p 9090:80 --name centos centos:latest

-it -i:interactive -t:ttyがくっついたもの 制御端末機能を付与する。

-d (detach) フォアグラウンドで動くとターミナルをつかまれてしまうため

つかまれてしまった場合は Ctrl+P -> Ctrl+Q と続けて入力するとよい

逆にバックグラウンドのものをフォアグラウンドにしたい場合は container attach [コンテナ名]

2.2. コマンドの実行 ⇔ dockerfile記述

コンテナ内に入る docker exec -it centos bash

実行したコマンドをdockerfileに記述 この時はまだレイヤは意識せずとにかくメモをとる感覚で記述

意図したコンテナが作れるまであれやこれやする

2.3. dockerfileの推敲

RUN ~ のような命令文は極力ひとまとめにするとレイヤが減ってメモリの節約になる。

例:

RUN yum -y install python3 \
    nodejs npm \
    java-11-openjdk java-11-openjdk-devel \
&& npm install -g n \

(コマンドを書くにしてもベターな順序とかあるのかな…)

可能な限りまとめていく。

コマンドをまとめることでbuildの実効速度も改善する。