docker容器 从windows迁移到centos
原因:Windows环境有VPN,下载各方面的资源速度较快。所以会先在windows环境下把容器镜像拉好,测试没问题了,再准备导出使用。
- 首先是从windows容器迁出:例如,要把think容器导出,
首先用cmd命令行 docker imges 查看镜像列表,
然后通过 docker save bf39200e36a5 > d:\think.tar think 镜像打包到d盘更目录下面。
2.通过ftp服务器传输到centos服务器目录下备用。
3.到linux服务器指定目录下面,然后执行命令 docker load -i think.tar 装载镜像
4.装载完毕后,镜像没名称和tag,手工标记上。
执行命令 docker tag bf39200e36a5 think:latest
指定仓库名是 think 版本是 lastest
5.然后就是通过命令启动容器了。根据自己的实际需求,确定是否需要进行端口映射、权限管理等操作。
docker run -it --name container-name -p 8080:8080 image-name /bin/bash
【容器名称】 【镜像名称】
冒号前面使主机(宿主)端口,冒号后面是容器端口。
docker run -it --name cl-onlinedoc -p 5001:5001 -p 5002:5002 -p 5003:5003 think /bin/bash
6.其中,上述命令启动完毕后,会挂在命令行窗口
关闭窗口后容器也关闭了,但是容器还在,没被删除。
可以通过命令行 docker start 容器名 的形式继续启动。
docker start cl-onlinedoc
停止就用
docker stop cl-onlinedoc
7.有没办法设置成后台启动命令行? 包括后续容器会自动启动。
docker run --name cl-mdm -d -p 9000:8081 --restart always cl-mdm
其中:
-d 选项
使用 docker run -d 在后台创建并启动名称为 ** 的容器,通过 docker ps 命令没有查找到处于运行状态的容器,通过 docker ps -a 命令查找到已经停止运行的 ** 容器。
--restart=always 选项
docker run --restart具体参数值详细信息
no - 容器退出时,不重启容器;
on-failure - 只有在非0状态退出时才从新启动容器;
always - 无论退出状态是如何,都重启容器;
已经运行的容器添加restart参数,如果是已经在运行中的容器要加上该参数:
docker update --restart=always 容器名字或者容器ID
立即生效需要重启docker
systemctl restart docker