コンテナで色々作業した後(その環境のみに依存するサーバーの設定やDBの中身等を想定)
にポート設定の追加やマウントフォルダの再設定したくなった場合で
再度作業をする時間がなかったりする場合に使う。
その環境特有の設定やDB等もイメージに入ってしまうので運用に応じて気を付ける必要がある。
(環境構築用のイメージとしては相応しくない、アプリケーションのバックアップイメージとするなら問題ない)
images
REPOSITORY TAG IMAGE ID
<name> latest aaaaaaaaaaaa
使用中コンテナをリネーム
docker rename {CONTAINER_NAME} {CONTAINER_NAME}-20190101
使用中のイメージのバックアップを作る
docker tag <name>:latest <name>:20190101
images
REPOSITORY TAG IMAGE ID
<name> latest aaaaaaaaaaaa
<name> 20190101 aaaaaaaaaaaa
使用中コンテナからイメージを作る
コンテナを停止させてから作成する
docker stop {CONTAINER_NAME}-20190101
docker commit {CONTAINER_NAME}-20190101 <name>:latest
images
REPOSITORY TAG IMAGE ID
<name> latest bbbbbbbbbbbb
<name> 20190101 aaaaaaaaaaaa
latestが上書きされる
元のコンテナの作成時のdocker runコマンドと同じように実行する
(ここでポートやマウントの設定を変更したければ修正する)