准备: 一台与服务器系统版本相同且可以连接外网的服务器,我用的是虚拟机 版本信息: centos 7.2 3.10.0-327.el7.x86_64 docker-ce-19.03.4-3.el7.x86_64
这步可能报错,也没影响,反正都连不了外网,也就不能下载镜像了
在虚拟机上下载安装包
yum install docker-ce --downloadonly --downloaddir=./这个命令已经用过很多次了,–downloadonly只下载,–downloaddir下载文件保存目录。如果只要下载某个包,还有这个命令
yumdownloader docker-cedocker -v 查看版本
因为服务器不能下载镜像,所以需要通过虚拟机环境下载好镜像,然后打包,再导入到服务上的docker,导出、导入的命令分别是
# 导出命令 docker save [options] images [images...] # 导入命令 docker load [options]示例 docker save -o nginx.tar nginx:latest 或 docker save > nginx.tar nginx:latest 其中-o和>表示输出到文件,nginx.tar为目标文件,nginx:latest是源镜像名(name:tag)
docker load -i nginx.tar 或 docker load < nginx.tar 其中-i和<表示从文件输入。会成功导入镜像及相关元数据,包括tag信息
命令:
# 导出: docker export [options] container # 导入: docker import [options] file|URL|- [REPOSITORY[:TAG]]示例 docker export -o nginx-test.tar nginx-test 其中-o表示输出到文件,nginx-test.tar为目标文件,nginx-test是源容器名(name)
docker import nginx-test.tar nginx:imp 或 cat nginx-test.tar | docker import - nginx:imp
最后: 可以依据具体使用场景来选择命令 若是只想备份images,使用save、load即可 若是在启动容器后,容器内容有变化,需要备份,则使用export、import
当磁盘空间不够时,需要修改docker的默认存储位置: docker 启动之后,可以用docker info查看docker 信息,其默认存储位置为/var/lib/docker 将–graph /data/docker添加在docker.service文件中的ExecStart字段后面,其中/data/docker为你需要修改的存储目录
$ vim /usr/lib/systemd/system/docker.service …… ExecStart=/usr/bin/dockerd \ --graph /data/docker ……重启服务
$ systemctl daemon-reload $ systemctl restart docker之后用docker info可以看到目录已经改为/data/docker了
参考链接: https://blog.csdn.net/ncdx111/article/details/79878098 https://blog.csdn.net/bacteriumX/article/details/88417098