docker镜像

一、docker save和docker load:
docker save保存的是镜像文件,可以对镜像打包,也可以对容器打包。
docker load从镜像文件载入为镜像,不可以重命名镜像名称。

将镜像库中的postgres和mongo打包:
docker images
docker save -o images.tar postgres:9.6 mongo:3.4
打包之后的images.tar包含postgres:9.6和mongo:3.4这两个镜像

将容器postgres打包:
docker ps
docker save -o postgres.tar postgres

载入镜像:
docker load -i images.tar
把postgres:9.6和mongo:3.4载入进来,如果本地镜像库已经存在这两个镜像,将会被覆盖


二、docker export和docker import
docker export保存的是镜像文件,只能对容器打包。
docker import从镜像文件载入镜像,可以重命名镜像名称。

将容器postgre打包:
docker export -o postgres-export.tar postgres

载入镜像:
docker import postgres-export.tar postgres:latest


三、docker load和import的区别:
docker load和import不能交叉使用:
docker load不能载入docker import的镜像文件。
docker import不能载入docker load的镜像文件

docker export的镜像文件,内容是一个linux系统的文件目录,就是一个linux镜像。
因此,docker import仅仅是将tar包里面的文件复制进来,所以不管tar包里面的文件结构是怎样的,都可以载入进来

docker load的镜像文件,是一个docker分层的文件系统。
Docker镜像实际上就是由这样的一层层文件进行叠加起来的,上层的文件会覆盖下层的同名文件。


四.docker commit
有时在已有的容器中更新了一些插件,想生成新的镜像,可以使用docker commit
docker commit -m '修改信息' -a '提交者' 容器id 镜像名称:标签


五.docker stack deploy
当已经部署的容器,需要使用新的镜像文件时。
通常,是停止或删除原有的容器,重新创建一个新容器。

也可以使用docker stack deploy,在原有容器的基础上,修改配置文件,重新部署。
docker stack deploy --compose-file=/opt/docker/yml/docker-compose-resty-redis.yml resty_redis


docker compose: https://www.runoob.com/docker/docker-compose.html

posted on 2020-09-20 19:28  myworldworld  阅读(153)  评论(0)    收藏  举报

导航