docker容器和主机端口映射(docker利用单个镜像映射到多个端口操作)
类别:服务器 浏览量:231
时间:2022-01-18 01:48:28 docker容器和主机端口映射
docker利用单个镜像映射到多个端口操作需求:
官网的资源服务器肯定不能使用一个实例, 需要多个一起,但是如果继续复制太慢了,我就想能不能直接使用docker镜像,多制造几个相同的容器实例
前后两个docker-compose.yml
version: '3' services: micro-hcnet-website-13: image: 172.18.0.1:5000/hcnet-website-12:0.0.1-SNAPSHOT restart: on-failure ports: - 8311:8211 ~
version: '3' services: micro-hcnet-website-13: image: 172.18.0.1:5000/hcnet-website-12:0.0.1-SNAPSHOT restart: on-failure ports: - 8211:8211 ~
执行docker-compse.yml之后
显示正常启动
查看容器
映射成功
最后查看consul
果然都是同一个映射接口。
补充知识:Docker入门——多容器的建立(docker-compose)
一次启动多个多个服务(容器),会方便我们在生产实践中的操作
以haproy 负载均衡 apache 服务与nginx服务为例
通过compose 进行docker 的多容器应用
Compose 是一个用户定义和运行多个容器的 Docker 应用程序。在 Compose 中你可以使用 YAML 文件来配置你的应用服务。然后,只需要一个简单的命令,就可以创建并启动你配置的所有服务。
使用 Compose 基本会有如下三步流程:
在 Dockfile 中定义你的应用环境,使其可以在任何地方复制。
在 docker-compose.yml 中定义组成应用程序的服务,以便它们可以在隔离的环境中一起运行。
最后,运行dcoker-compose up,Compose 将启动并运行整个应用程序。
1. 编辑docker-compose.yml文件进行多镜像指定
apache: # apache 服务 image: rhel7:v1 # 父镜像名称 expose: - 80 # 暴露端口 volumes: # 挂载卷 - ./web/:/var/www/html nginx: # nginx 服务 image: nginx # 父镜像 expose: - 80 # 暴露端口 haproxy: # haproxy 服务 image: haproxy # 父镜像 volumes: # 挂载卷 - ./haproxy:/usr/local/etc/haproxy links: # 关联容器 - apache - nginx ports: # 端口映射 - "8080:80" expose: # 暴露的服务端口 - 80
2. 编辑haproxy的配置文件
global # 全局配置,日志信息 log 127.0.0.1 local0 log 127.0.0.1 local1 notice defaults log global option httplog option dontlognull timeout connect 5000ms timeout client 50000ms timeout server 50000ms stats uri /status frontend balancer bind 0.0.0.0:80 # 监听端口 default_backend web_backends # 默认后后端 backend web_backends balance roundrobin server weba apache:80 check # 后端a apache 与 .yml 文件中的 links 中的内容对应 server webb nginx:80 check
查看所需文件是否充分
[root@foundation21 compose]# ls docker-compose.yml haproxy web [root@foundation21 compose]# pwd /tmp/docker/compose # 查看文件隶属关系 [root@foundation21 compose]# tree . ├── docker-compose.yml ├── haproxy │ └── haproxy.cfg └── web └── index.html 2 directories, 3 files
在cmopose目录喜下执行docker-compose up 命令进行同时启动多镜像
在浏览器中进行查看:
haproxy 实现了后端web服务器的负载均衡
以上这篇docker利用单个镜像映射到多个端口操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持开心学习网。
您可能感兴趣
- docker-compose启动单个容器(docker-compose快速搭建docker私有仓库的步骤)
- docker容器里的容器之间通信(Docker容器连接相互通信的实现)
- docker配置和启动(Docker的安装与配置命令代码实例)
- docker数据库如何初始化(Docker启动PostgreSQL时创建多个数据库的解决方案)
- docker1.12.5容器假死(解决docker run后容器出现Exited 0情况的问题)
- docker 镜像id修改(Docker Alpine镜像时区问题完美解决方案)
- docker可用容量查看(docker 查看jvm内存占用方式)
- docker查看容器教程(如何使用docker对容器资源进行限制)
- docker部署spring boot(Spring Boot 打包上传Docker 仓库的详细步骤)
- docker怎么设置redis(docker安装redis并以配置文件方式启动详解)
- docker root权限(docker 免root权限登陆的解决方案)
- centos7docker部署(CentOS 7下设置Docker代理Linux下Systemd服务的环境变量配置)
- docker如何简化部署(Docker使用Portainer搭建可视化界面的方法)
- docker swarm管理(Docker Swarm 服务编排之命令详解)
- docker容器启动执行多条命令(详解Shell脚本控制docker容器启动顺序)
- 将docker中的镜像打包教程(本地使用docker打包部署镜像的方法)
- 直播带货能赚到很多钱吗(直播带货能赚到很多钱吗现在)
- 做网红真的很能赚钱吗(做网红真的很能赚钱吗)
- 10句英语常用(英语常用900句)
- 爱情能当饭吃吗(爱情能当饭吃吗说说)
- 白T恤穿法(白t恤)
- 你怎么忘了是说先爱我(你怎么忘了如何爱我)
热门推荐
- python好看图案(python实现趣味图片字符化)
- nginx 可以部署java吗(Java-利用Nginx负载均衡实现Web服务器)
- elementui多个组件怎么使用(ElementUI在实际项目使用步骤详解)
- javascript基本类型是哪些(详解javascript中的Strict模式)
- dedecms手机独立域名(DedeCMS Wap.php 绑定域名的解决办法)
- php扩展安装示例(php扩展开发入门demo示例)
- 云服务器9兆带宽的上传速度是多少(云服务器网速多少怎么计算?云服务器的1兆带宽是多少的?)
- dedecms授权协议(360提示DedeCms全局变量覆盖漏洞临时解决方法)
- js宏任务都有哪些(JavaScript 操作宏任务与微任务)
- css按钮样式实例(CSS使用classList实现两个按钮样式的切换)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9