第一步:使用docker ps -a命令查看所有的容器
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9505a10e6d29 nginx "nginx -g 'daemon of…" 34 minutes ago Exited (0) 8 minutes ago mynginx
4c89fff9ac8c mysql:5.6 "docker-entrypoint.s…" 11 days ago Exited (0) 11 days ago mymysql
0abefefe2592 centos "/bin/bash" 2 months ago Exited (255) 12 days ago mycentos
第二步:容器保存为对象,docker commit 容器名 要保存的名字
[root@localhost conf]# docker commit mynginx mynginx_backup
sha256:a6ca067596a2c319ddcdc9592afa9a7e9be4c157959c0327214d3e577333ed3a
第三步:查看刚才保存的镜像
[root@localhost conf]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mynginx_backup latest a6ca067596a2 19 seconds ago 109MB
第四步:镜像备份(保存为tar文件),docker save -o 容器名.tar 要保存的名字
[root@localhost ~]# docker save -o mynginx.tar mynginx_backup
第五步:查看当前目录
[root@localhost ~]# ls
anaconda-ks.cfg conf data initial-setup-ks.cfg java logs mynginx.tar original-ks.cfg
第六步:删除原来的镜像并查看
[root@localhost ~]# docker rmi mynginx_backup
Untagged: mynginx_backup:latest
Deleted: sha256:a6ca067596a2c319ddcdc9592afa9a7e9be4c157959c0327214d3e577333ed3a
Deleted: sha256:facd3b28655186bdc7349bc017557ed80f94155831a8a3ed936f498e2f5b6b1c
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
第七步:镜像恢复,docker load -i 打包好的容器的文件名.tar
[root@localhost ~]# docker load -i mynginx.tar
ea4399e4dbe6: Loading layer [==================================================>] 6.656kB/6.656kB
Loaded image: mynginx_backup:latest
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mynginx_backup latest a6ca067596a2 7 minutes ago 109MB
第八步:使用该镜像创建容器
[root@localhost ~]# docker run --name mynginx2 -p 80:80 -d mynginx_backup
a4809747f3c233d5a8f0c35542449adda10c06305f32c32a55e4842630212760
第九步:浏览器输入ip地址,看是否成功