使用docker镜像如何实现映射到多个端口
创始人
2024-11-19 21:21:30
0次

需求:

官网的资源服务器肯定不能使用一个实例, 需要多个一起,但是如果继续复制太慢了,我就想能不能直接使用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之后

使用docker镜像如何实现映射到多个端口

显示正常启动

查看容器

使用docker镜像如何实现映射到多个端口

映射成功

最后查看consul

使用docker镜像如何实现映射到多个端口

果然都是同一个映射接口。

补充知识: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 命令进行同时启动多镜像

使用docker镜像如何实现映射到多个端口

在浏览器中进行查看:

haproxy 实现了后端web服务器的负载均衡

使用docker镜像如何实现映射到多个端口

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...