一、导出镜像
1、导出镜像是将当前镜像打包并保存至指定位置
docker save -o [保存路径] [镜像名]
2、导出后的文件可以通过scp命令或其他工具传输至其他机器上
scp [保存路径] [用户名]@[IP]:[存储位置]
3、导入镜像时使用load命令
docker load -i [文件路径]
二、导出容器
1、导出容器是将当前容器打包并保存至指定位置
docker export [容器ID] > [文件路径]
2、导出的文件不包含镜像层信息和容器启动配置信息
3、导入容器时使用import命令
cat [文件路径] | docker import - [镜像名称:标签]
三、容器数据卷备份和恢复
1、数据卷是将容器内的数据持久化存储至宿主机上
2、容器删除后,宿主机上的数据卷不会被删除,可以用于数据备份和迁移
3、备份数据卷可以将数据卷打包成压缩包
tar zcvf [备份文件路径] [数据卷路径]
4、恢复数据卷使用untar命令
tar zxvf [备份文件路径]
四、Docker Compose导出与导入
1、Docker Compose是一个定义和运行多个Docker容器的工具
2、在项目根目录下有一个docker-compose.yml文件,定义了容器的名称、镜像、容器参数、数据卷等信息
3、导出Docker Compose文件使用命令
docker-compose config > [文件路径]
4、将导出的文件拷贝到需要导入的机器上,使用命令导入
docker-compose up -d
五、Docker镜像上传至Docker Hub
1、Docker Hub是一个Docker镜像仓库
2、上传Docker镜像至Docker Hub需要在Docker Hub上注册账号,并创建项目
3、登录Docker Hub账号
docker login
4、打标签,标记为Docker Hub项目名称
docker tag [本地镜像名称]:[标签名] [Docker Hub用户名]/[Docker Hub项目名]:[标签名]
5、上传镜像至Docker Hub
docker push [Docker Hub用户名]/[Docker Hub项目名]:[标签名]
六、总结
Docker的导出和导入功能可以方便地将镜像、容器、数据卷等移植到其他机器上,同时也为数据卷的备份和恢复提供了便利。Docker Compose的导出与导入可以将定义好的容器组直接部署到其他机器上,而镜像的上传至Docker Hub则可以方便地与其他人共享。