@羲凡——只为了更好的活着
简单普及一下,docker的save保存镜像(load与其对应),docker的export导出容器(import与其对应),但是两者load/import的时候都是生成镜像。
实际业务:公司前辈大神(已离职)写的服务已经完整的布置在docker中,里面有nginx、uwsgi和自己的微服务等,如果要全部重新布置完全没有必要。只需要将复用docker容器即可。我将线上的docker导成tar文件,在测试集群上导入并配置,下面是我的操作步骤:
1.查到你需要导出容器的ID(CONTAINER ID)
sudo docker ps
2.将容器导出(一般是线上或某台常用的机器)
sudo docker export 9ff8e203b25e > docker20190123export.tar
3.将容器在另一台机器导入
如果docker导入的机器和导出的机器不能互通,只能先下载到本地中转(我是这么操作的),然后新需要导入docker的机器上执行以下命令(在tar包所在的目录),dockerservice:1.0 是新镜像的名字,可以随意命名。
cat ./docker20190123export.tar | sudo docker import - dockertest:1.0
输入sudo docker images
可以看到刚才导入的新镜像
4.根据自己的需要开启容器
sudo docker run -dit -v /dep:/dep -p 80:80 -p 7000-7001:7000-7001 dockertest:1.0 /bin/bash
-v 是docker目录挂载,冒号左边是本地目录,右边是docker内目录
-p 是docker端口映射,冒号左边是本地端口,右边是docker内端口
5.进入容器
#查看刚才开启的容器id
sudo docker ps -a
#根据容器id进入docker
sudo docker exec -it 4ae1aef8113c /bin/bash
===========================================================================
@羲凡——只为了更好的活着
若对博客中有任何问题,欢迎留言交流