一つずつコンテナを変更してコミットしイメージを作る方法もあるのですが、
ファイルに記載してバッチ的に実行して作成手順を残したほうがいいと思います。
例えば作業フォルダを作成しDockerfile
に次のように実行するコマンドを作成します。
内容はCentOSのアップデートとアパッチを入れるだけの簡単なものです。
Dockerfile
1 FROM centos:7
2
3 RUN yum -y update
4 RUN yum -y install httpd
5
6 EXPOSE 80
7
8 CMD ["/sbin/init"]
docker build -t centos:mycentos .
を実行するとイメージを作成してくれます。名前は「centos:mycentos」というイメージをcentos:7
を元に変更を加えて作成してくれます。目的に合わせて名前をつけるといいと思います。
bash
1 $ docker build -t centos:mycentos .
2 Sending build context to Docker daemon 2 .048kB
3 Step 1 /5 : FROM centos:7
4 --- > 3fa822599e10
5 Step 2 /5 : RUN yum -y update
6 --- > Running in a14161514f4e
7 Loaded plugins: fastestmirror, ovl
8 Determining fastest mirrors
9 * base: ftp.iij.ad.jp
10 * extras: ftp.iij.ad.jp
11 * updates: ftp.iij.ad.jp
12 Resolving Dependencies
13
14 :
15 < 略 >
16 :
17
18 Dependency Installed:
19 apr.x86_64 0 :1.4.8-3.el7_4.1
20 apr-util.x86_64 0 :1.5.2-6.el7
21 centos-logos.noarch 0 :70.0.6-3.el7.centos
22 httpd-tools.x86_64 0 :2.4.6-80.el7.centos.1
23 mailcap.noarch 0 :2.1.41-2.el7
24
25 Complete !
26 Removing intermediate container e73a21de06fa
27 --- > 95b2455bb803
28 Step 4 /5 : EXPOSE 80
29 --- > Running in c7e2258875da
30 Removing intermediate container c7e2258875da
31 --- > 88d4fdc85c84
32 Step 5 /5 : CMD [ "/sbin/init" ]
33 --- > Running in 4ec0c672b724
34 Removing intermediate container 4ec0c672b724
35 --- > 903491b87895
36 Successfully built 903491b87895
37 Successfully tagged centos:mycentos
作成後にdocker images
と叩くとイメージが増えてると思います。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。