【docker】docker迁移+新建docker容器

docker迁移+新建docker容器

首先输入命令:

docker ps -a

找到上一次运行的docker 的id(记下来,后面有用),然后运行它,比如,我用的是nvidia-docker:

docker run --runtime=nvidia -it --rm tensorflow/tensorflow:1.14.0-gpu

进入到docker之后,输入:

docker export a8b133a854a7 > tensorflow_docker.tar

这句是用来导出docker的image的,这里的a8b133a854a7就是前文让记住的docker id,这样的话,稍等一会,命令结束后,退出docker就会发现,当前目录下面会出现tensorflow_docker.tar的文件。说明导出成功

然后这个镜像可以拷贝至其他机器,只要安装了docker,当你想再次部署额时候,首先输入:

cat tensorflow_docker.tar | docker import - tensorflow_training:20191115

这里的cat tensorflow_docker.tar是解压的意思,是pipeline,tensorflow_training:20191115中的tensorflow_training是镜像的名字,可以随便取,20191115是tag,你可以用它来标示版本号。

之后,输入:

docker run -it -v /data/username/tensorflow_training:/tensorflow_training -p 56999:56999 --name tensorflow_training tensorflow_training:20191115 /bin/bash

这样可以运行docker,这里的-it表示交互式/终端,-v表示要将宿主机的目录映射到docker,其中宿主机的目录是/data/username/tensorflow_training,docker的目录是tensorflow_training-p 56999:56999表示将宿主机的56999端口映射到docker的56999端口,--name tensorflow_training tensorflow_training:20191115表示运行的docker名字及tag。

但是这样的话,你每次退出docker,docker就自动终止了。这里我们输入:

docker start dockerid

开启了docker之后,
找个地方新建个脚本,叫docker_run.sh,内容输入:

docker exec -ti dockerid /bin/bash

然后保存退出,终端输入:

chmod 777 docker_run.sh

给脚本添加执行权限,下次进入docker,只需在当前目录终端输入:

./docker_run.sh或者bash docker_run.sh

即可

发布了97 篇原创文章 · 获赞 55 · 访问量 13万+

猜你喜欢

转载自blog.csdn.net/voidfaceless/article/details/103079722