docker いじってたコンテナをイメージ化してまた使うにゃ

タイトルの通りだけど、最初はうまくいかなかったのでメモ書き

順番がよくなかったみたいでしたのでした。

今このコンテナが走ってるとして。

core@localhost ~ $ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                                                                NAMES
12aed3c97713        centos:lamp         /usr/bin/monit -I   2 minutes ago       Up 2 minutes        0.0.0.0:80->80/tcp, 0.0.0.0:10022->22/tcp, 0.0.0.0:12812->2812/tcp   cocky_mcclintock

走ってる状態でcommitする。ユーザー名/名称とするのが作法とのこと。

core@localhost ~ $ docker commit -m "first" 12aed3c97713 takeken/lamp
4044e6fc6dab67a424e43d86d5c2f0b918df14849115d67236378ab3ca4de5fb

imagesを見ると増えてます。

core@localhost ~ $ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
takeken/lamp           latest              4044e6fc6dab        13 seconds ago      786.8 MB
centos              lamp                b269921355b3        15 hours ago        781.4 MB

イメージ化されたので、いまのコンテナを止めます。今日の日はさようなら、また逢う日まで。

core@localhost ~ $ docker kill 12aed3c97713
12aed3c97713

ここで問題が勃発した。どうもkillしたらmonitのPIDが残るらしい。
stop >  startでもコンテナの中止、再開はできるけども今回の趣旨とはちょっと離れる。

core@localhost ~ $ sudo docker logs d4f3eb389887
monit daemon with PID 1 awakened

動いてくれない・・・。

今回のテーマはイメージ化なので、いったんmonitをリスタートするコンテナを作ってそのコンテナをイメージ化してみるテスト。

core@localhost ~ $ sudo docker run -d -t -p 12812:2812 -p 80:80 -p 10022:22 takeken/lamp /etc/init.d/monit restart
8d52840ef87334f56a21138082e0f9905ec3f3a2e4b4f897724cbb2bf1d4a594

変なやりかたな気はするけど、まあいい。
こんな方法で動くのだろうか。

ログを見るとリスタートはうまくいったらしい。

core@localhost ~ $ docker logs 8d52840ef873
Stopping monit:                                            [FAILED]
Starting monit: Starting monit daemon with http interface at [*:2812]
                                                           [  OK  ]

でもって、これで出来上がったイメージからコンテナを作ってみると。

core@localhost ~ $ sudo docker run -d -t -p 12812:2812 -p 80:80 -p 10022:22 takeken/lamp  /usr/bin/monit -I
1c41e6fb23e6a564b592432f5570cd37dd82ac892e8c6dcae95fe651a042945c
core@localhost ~ $ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                                                                NAMES
1c41e6fb23e6        takeken/lamp:latest    /usr/bin/monit -I   4 seconds ago       Up 3 seconds        0.0.0.0:80->80/tcp, 0.0.0.0:10022->22/tcp, 0.0.0.0:12812->2812/tcp   hopeful_galileo

上手くいったようです。

強引ぐ My wayだ。

docwp_03

 

Similar Posts:


Leave a Reply

Your email address will not be published. Required fields are marked *