1.Dockerコンテナ→Dockerイメージ作成
$ docker container commit container_name image_name:TAG
$ sudo docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 5d0da3dc9764 10 months ago 231MB
$ sudo docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
11bbc82b2fca centos "/bin/ping localhost" 30 hours ago Exited (137) 18 hours ago sleepy_beaver
1917c7f76a5f centos "/bin/bash" 40 hours ago Exited (255) 3 minutes ago test2
35cb1215e744 centos "/bin/cal" 40 hours ago Exited (0) 19 hours ago test1
99671ed077ff centos "/bin/bash" 40 hours ago Exited (0) 18 hours ago sad_wescoff
#Dockerイメージを作成
$ sudo docker container commit test2 masa/webtest:1.0
sha256:54000727131c8d1e4f63bb495bcb7c0fcaa11281a2d4c4ad2585c14f52e668a3
$ sudo docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
masa/webtest 1.0 54000727131c 8 seconds ago 231MB
centos latest 5d0da3dc9764 10 months ago 231MB
#Dockerイメージの確認
$ sudo docker image inspect masa/webtest:1.0
[
{
"Id": "sha256:54000727131c8d1e4f63bb495bcb7c0fcaa11281a2d4c4ad2585c14f52e668a3",
"RepoTags": [
"masa/webtest:1.0"
],
(省略)
2.Dockerコンテナ→tarファイルバックアップ
$ docker container export container_name > stoc_name.tar
$ sudo docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
35cb1215e744 centos "/bin/cal" 41 hours ago Exited (0) 19 hours ago test1
99671ed077ff centos "/bin/bash" 41 hours ago Exited (0) 18 hours ago sad_wescoff
#tarファイル出力
$ sudo docker container export test1 > test1_t1.tar
$ ls -lh
合計 228M
-rw-rw-r-- 1 masa masa 228M 7月 18 14:26 test1_t1.tar
#tarファイルの中身確認
$ tar -tf test1_t1.tar | head -10
.dockerenv
bin
dev/
dev/console
dev/pts/
dev/shm/
etc/
etc/.pwd.lock
etc/BUILDTIME
etc/GREP_COLORS
2.1 Dockerコンテナtarファイル→Dockerイメージ作成
$ cat stoc_name.tar | sudo docker image import - image_name:TAG
$ sudo docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
masa/webtest 1.0 54000727131c 25 minutes ago 231MB
centos latest 5d0da3dc9764 10 months ago 231MB
$ ls -lh
合計 228M
-rw-rw-r-- 1 masa masa 228M 7月 18 14:26 test1_t1.tar
#DockerコンテナのtarファイルからDockerイメージファイルを作成
$ cat test1_t1.tar | sudo docker image import - masa/test1:1.1
sha256:6d190dae723018c8b6cbcef90444c593edea9aeb5b5d5527fae0b0c962c8f4f5
$ sudo docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
masa/test1 1.1 6d190dae7230 10 seconds ago 231MB ←追加されたDockerイメージ
masa/webtest 1.0 54000727131c 29 minutes ago 231MB
centos latest 5d0da3dc9764 10 months ago 231MB
3.Dockerイメージ→tarファイルバックアップ
$ docker image save -o file_name.tar Docker_image_name
$ sudo docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
masa/test1 1.1 6d190dae7230 4 hours ago 231MB
masa/webtest 1.0 54000727131c 4 hours ago 231MB
centos latest 5d0da3dc9764 10 months ago 231MB
#失敗時のエラーメッセージ
$ sudo docker image save -o centos_img.tar centos
open .docker_temp_056170351: permission denied
#自分の環境では保存ディレクトリに書き込み権限が必要だった
$ chmod 777 docker/
#再度コマンドを実行して無事に成功
$ sudo docker image save -o ./webtest_img.tar masa/webtest:1.0
masa@masa-hp-compaq:~/docker$ ls -l
合計 465980
-rw-rw-r-- 1 masa masa 238571520 7月 18 14:26 test1_t1.tar
-rw------- 1 root root 238587904 7月 18 18:10 webtest_img.tar
3.1 Dockerイメージtarファイル→Dockerイメージ作成
$ docker image load -i Docker_img.tar
$ sudo docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
masa/test1 1.1 6d190dae7230 4 hours ago 231MB
centos latest 5d0da3dc9764 10 months ago 231MB
$ ls
test1_t1.tar webtest_img.tar
#Dockerイメージファイル(webtest_img.tar)からのリストア
$ sudo docker image load -i webtest_img.tar
fd69d8d21afa: Loading layer 3.584kB/3.584kB
Loaded image: masa/webtest:1.0
$ sudo docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
masa/test1 1.1 6d190dae7230 4 hours ago 231MB
masa/webtest 1.0 54000727131c 4 hours ago 231MB ←リストア完了
centos latest 5d0da3dc9764 10 months ago 231MB
4.Dockerイメージの削除
$ docker image rm Docker_img_name
$ sudo docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
masa/test1 1.1 6d190dae7230 4 hours ago 231MB
masa/webtest 1.0 54000727131c 4 hours ago 231MB ←削除対象
centos latest 5d0da3dc9764 10 months ago 231MB
#削除実行
$ sudo docker image rm masa/webtest:1.0
Untagged: masa/webtest:1.0
Deleted: sha256:54000727131c8d1e4f63bb495bcb7c0fcaa11281a2d4c4ad2585c14f52e668a3
Deleted: sha256:cb1f46395e98515dc7926d430428c94f86f4e44130d81be68d44fad47ad25ae8
$ sudo docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
masa/test1 1.1 6d190dae7230 4 hours ago 231MB
centos latest 5d0da3dc9764 10 months ago 231MB