Docker多端口映射和镜像迁移多份部署
2017-05-25 15:22
1121 查看
阅读此文章前请以上篇博文为基础:http://blog.csdn.net/lishirong/article/details/72677860
本片博文主要解决以下几个问题:
1.在一个docker中映射多个端口
2.一个镜像在同一主机上的多份部署
3.镜像迁移到其它linux主机进行部署
开始吧!
一、单docker多端口映射
1.首先得到现有的镜像
#docker images
#docker run -d -p 18080:8080 -p 28080:8080 --name tomcat1 sdzn.com/tomcat:0.1 /root/run.sh
测试访问均能成功http://127.0.0.1:18080和http://127.0.0.1:28080
3.查看当前正在运行的镜像
#docker ps
#docker run -d -p 38080:8080 -p 48080:8080 --name tomcat2 sdzn.com/tomcat:0.1 /root/run.sh
#docker ps
4.停止一个容器和启动一个容器
#docker stop tomcat2
#docker start tomcat2
#docker restart tomcat2
这样可以重启一个容器的服务,达到暂时减小内存占用,恢复初始状态的作用,但相应的容器的增量数据会被销毁。
5.看下我1G内存的虚拟机跑了5个docker容器实例
6.给指定容器额外增加一个端口映射
百度上并没有找到相关信息,大多数建议是退出并另存为一个容器重新启动。
二、单镜像单机多份部署
在“一”中已经有提到,单镜像可以理解是静态的,可以从镜像发布为多个容器来服务。
三、镜像迁移其它linux部署
1.镜像导出,只能讲容器ID进行导出
#docker ps -a
#docker export 75626d3c702b>tomcat1.tar
或者保存镜像文件也可
#docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
sdzn.com/tomcat 0.2 3d37243864ed 37 seconds ago 509 MB
sdzn.com/tomcat 0.1 c4370254990a 6 hours ago 518 MB
docker.io/tomcat latest 3695a0fe8320 3 days ago 334.3 MB
docker.io/centos 7.2.1511 feac5e0dfdb2 8 months ago 194.6 MB
#docker save 3d3>tomcat.tar
#ls
#ls
#cat tomcat1.tar | docker import - sdzn.com/tomcat:0.1
#docker images
# docker run -d -p 8080:8080 --name tomcat1 sdzn.com/tomcat:0.1 /root/run.sh
#docker ps
5.访问测试:
成功!至此完成了docker从CentOs7的导出和向Ubuntu的导入。
文献参考:
1.http://blog.csdn.net/meegomeego/article/details/50707621
2.http://blog.csdn.net/pipisorry/article/details/51330126
本片博文主要解决以下几个问题:
1.在一个docker中映射多个端口
2.一个镜像在同一主机上的多份部署
3.镜像迁移到其它linux主机进行部署
开始吧!
一、单docker多端口映射
1.首先得到现有的镜像
#docker images
REPOSITORY TAG IMAGE ID CREATED SIZE sdzn.com/tomcat 0.1 af2454df9380 10 seconds ago 514.6 MB docker.io/centos 7.2.1511 feac5e0dfdb2 8 months ago 194.6 MB2.将18080和28080均映射到容器的8080端口
#docker run -d -p 18080:8080 -p 28080:8080 --name tomcat1 sdzn.com/tomcat:0.1 /root/run.sh
测试访问均能成功http://127.0.0.1:18080和http://127.0.0.1:28080
3.查看当前正在运行的镜像
#docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 75626d3c702b sdzn.com/tomcat:0.1 "/root/run.sh" 2 minutes ago Up 2 minutes 0.0.0.0:18080->8080/tcp, 0.0.0.0:28080->8080/tcp tomcat13.额外增加一个正在运行的镜像
#docker run -d -p 38080:8080 -p 48080:8080 --name tomcat2 sdzn.com/tomcat:0.1 /root/run.sh
#docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6ccc5564b93e sdzn.com/tomcat:0.1 "/root/run.sh" 14 seconds ago Up 4 seconds 0.0.0.0:38080->8080/tcp, 0.0.0.0:48080->8080/tcp tomcat2 75626d3c702b sdzn.com/tomcat:0.1 "/root/run.sh" 6 minutes ago Up 6 minutes 0.0.0.0:18080->8080/tcp, 0.0.0.0:28080->8080/tcp tomcat1
4.停止一个容器和启动一个容器
#docker stop tomcat2
#docker start tomcat2
#docker restart tomcat2
这样可以重启一个容器的服务,达到暂时减小内存占用,恢复初始状态的作用,但相应的容器的增量数据会被销毁。
5.看下我1G内存的虚拟机跑了5个docker容器实例
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4c4b3643d6a8 sdzn.com/tomcat:0.1 "/root/run.sh" About a minute ago Up About a minute 0.0.0.0:8085->8080/tcp, 0.0.0.0:8086->8080/tcp tomcat5 125574dfe0fc sdzn.com/tomcat:0.1 "/root/run.sh" 2 minutes ago Up 2 minutes 0.0.0.0:8083->8080/tcp, 0.0.0.0:8084->8080/tcp tomcat4 79f89f9df907 sdzn.com/tomcat:0.1 "/root/run.sh" 3 minutes ago Up 3 minutes 0.0.0.0:8081->8080/tcp, 0.0.0.0:8082->8080/tcp tomcat3 6ccc5564b93e sdzn.com/tomcat:0.1 "/root/run.sh" 21 minutes ago Up 12 minutes 0.0.0.0:38080->8080/tcp, 0.0.0.0:48080->8080/tcp tomcat2 75626d3c702b sdzn.com/tomcat:0.1 "/root/run.sh" 28 minutes ago Up 27 minutes 0.0.0.0:18080->8080/tcp, 0.0.0.0:28080->8080/tcp tomcat1
6.给指定容器额外增加一个端口映射
百度上并没有找到相关信息,大多数建议是退出并另存为一个容器重新启动。
二、单镜像单机多份部署
在“一”中已经有提到,单镜像可以理解是静态的,可以从镜像发布为多个容器来服务。
三、镜像迁移其它linux部署
1.镜像导出,只能讲容器ID进行导出
#docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4c4b3643d6a8 sdzn.com/tomcat:0.1 "/root/run.sh" 56 minutes ago Up 56 minutes 0.0.0.0:8085->8080/tcp, 0.0.0.0:8086->8080/tcp tomcat5 125574dfe0fc sdzn.com/tomcat:0.1 "/root/run.sh" 57 minutes ago Exited (137) 22 minutes ago tomcat4 79f89f9df907 sdzn.com/tomcat:0.1 "/root/run.sh" 58 minutes ago Exited (137) 22 minutes ago tomcat3 6ccc5564b93e sdzn.com/tomcat:0.1 "/root/run.sh" About an hour ago Exited (137) 23 minutes ago tomcat2 75626d3c702b sdzn.com/tomcat:0.1 "/root/run.sh" About an hour ago Exited (137) 23 minutes ago tomcat1 3dd730d024a3 feac "/bin/bash" About an hour ago Exited (0) About an hour ago zen_hypatia
#docker export 75626d3c702b>tomcat1.tar
或者保存镜像文件也可
#docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
sdzn.com/tomcat 0.2 3d37243864ed 37 seconds ago 509 MB
sdzn.com/tomcat 0.1 c4370254990a 6 hours ago 518 MB
docker.io/tomcat latest 3695a0fe8320 3 days ago 334.3 MB
docker.io/centos 7.2.1511 feac5e0dfdb2 8 months ago 194.6 MB
#docker save 3d3>tomcat.tar
#ls
Desktop tomcat1.tar 模板 图片 下载 桌面 install_agent.sh 公共 视频 文档 音乐2.将tomcat1.tar导入到另一个ubuntu14的系统下
#ls
tomcat1.tar3.导入tar包到镜像中
#cat tomcat1.tar | docker import - sdzn.com/tomcat:0.1
#docker images
REPOSITORY TAG IMAGE ID CREATED SIZE sdzn.com/tomcat 0.1 2c26a93be79d 23 seconds ago 514.7 MB4.启动镜像
# docker run -d -p 8080:8080 --name tomcat1 sdzn.com/tomcat:0.1 /root/run.sh
#docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9d760c4a36aa sdzn.com/tomcat:0.1 "/root/run.sh" 30 seconds ago Up 27 seconds 0.0.0.0:8080->8080/tcp tomcat1
5.访问测试:
成功!至此完成了docker从CentOs7的导出和向Ubuntu的导入。
文献参考:
1.http://blog.csdn.net/meegomeego/article/details/50707621
2.http://blog.csdn.net/pipisorry/article/details/51330126
相关文章推荐
- Openstack容器化部署研究之:Kolla离线制作Openstack服务的Docker容器镜像
- docker打包迁移镜像
- Docker 生产环境之使用可信镜像 - 用 compose 部署 Notary 服务器
- 基于docker的gitlab部署及迁移
- Docker镜像迁移
- 学习笔记TF022:产品环境模型部署、Docker镜像、Bazel工作区、导出模型、服务器、客户端
- docker 部署 flask(二)编写及生成镜像。
- Docker 镜像环境部署
- (docker)入门实践、环境部署、基本操作指令、镜像库、数据卷
- 巧用Docker镜像仓库Harbor部署私有Mirror服务
- Docker镜像迁移
- 不通过docker registry共享下载的image(docker镜像本地迁移)
- Docker教程:Docker镜像导出及迁移
- [DockerRegistry]DockerV1v2镜像迁移
- Docker - 手动迁移镜像
- Docker+Redis镜像的原理以及部署安装
- Docker 容器里镜像的迁移,或者将修改后的新的容器重新做成一个镜像
- 如何使用Docker部署一个web项目并打包成镜像文件
- centos安装docker拉取tomcat镜像(image)并部署war到tomcat容器
- docker镜像仓库harbor快速部署和使用