docker利用單個(gè)鏡像映射到多個(gè)端口操作
需求:
官網(wǎng)的資源服務(wù)器肯定不能使用一個(gè)實(shí)例, 需要多個(gè)一起,但是如果繼續(xù)復(fù)制太慢了,我就想能不能直接使用docker鏡像,多制造幾個(gè)相同的容器實(shí)例
前后兩個(gè)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 ~
執(zhí)行docker-compse.yml之后
顯示正常啟動(dòng)
查看容器
映射成功
最后查看consul
果然都是同一個(gè)映射接口。
補(bǔ)充知識(shí):Docker入門——多容器的建立(docker-compose)
一次啟動(dòng)多個(gè)多個(gè)服務(wù)(容器),會(huì)方便我們?cè)谏a(chǎn)實(shí)踐中的操作
以haproy 負(fù)載均衡 apache 服務(wù)與nginx服務(wù)為例
通過(guò)compose 進(jìn)行docker 的多容器應(yīng)用
Compose 是一個(gè)用戶定義和運(yùn)行多個(gè)容器的 Docker 應(yīng)用程序。在 Compose 中你可以使用 YAML 文件來(lái)配置你的應(yīng)用服務(wù)。然后,只需要一個(gè)簡(jiǎn)單的命令,就可以創(chuàng)建并啟動(dòng)你配置的所有服務(wù)。
使用 Compose 基本會(huì)有如下三步流程:
在 Dockfile 中定義你的應(yīng)用環(huán)境,使其可以在任何地方復(fù)制。
在 docker-compose.yml 中定義組成應(yīng)用程序的服務(wù),以便它們可以在隔離的環(huán)境中一起運(yùn)行。
最后,運(yùn)行dcoker-compose up,Compose 將啟動(dòng)并運(yùn)行整個(gè)應(yīng)用程序。
1. 編輯docker-compose.yml文件進(jìn)行多鏡像指定
apache: # apache 服務(wù) image: rhel7:v1 # 父鏡像名稱 expose: - 80 # 暴露端口 volumes: # 掛載卷 - ./web/:/var/www/html nginx: # nginx 服務(wù) image: nginx # 父鏡像 expose: - 80 # 暴露端口 haproxy: # haproxy 服務(wù) image: haproxy # 父鏡像 volumes: # 掛載卷 - ./haproxy:/usr/local/etc/haproxy links: # 關(guān)聯(lián)容器 - apache - nginx ports: # 端口映射 - "8080:80" expose: # 暴露的服務(wù)端口 - 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 # 監(jiān)聽端口 default_backend web_backends # 默認(rèn)后后端 backend web_backends balance roundrobin server weba apache:80 check # 后端a apache 與 .yml 文件中的 links 中的內(nèi)容對(duì)應(yīng) server webb nginx:80 check
查看所需文件是否充分
[root@foundation21 compose]# ls docker-compose.yml haproxy web [root@foundation21 compose]# pwd /tmp/docker/compose # 查看文件隸屬關(guān)系 [root@foundation21 compose]# tree . ├── docker-compose.yml ├── haproxy │ └── haproxy.cfg └── web └── index.html 2 directories, 3 files
在cmopose目錄喜下執(zhí)行docker-compose up 命令進(jìn)行同時(shí)啟動(dòng)多鏡像
在瀏覽器中進(jìn)行查看:
haproxy 實(shí)現(xiàn)了后端web服務(wù)器的負(fù)載均衡
以上這篇docker利用單個(gè)鏡像映射到多個(gè)端口操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Docker容器的調(diào)試技巧之docker logs與docker service logs
這篇文章主要介紹了Docker容器的調(diào)試技巧之docker logs與docker service logs,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01Docker實(shí)現(xiàn)TLS和CA認(rèn)證的方法步驟
為了更便捷地連接Docker服務(wù)器,Docker服務(wù)器需要開放2375端口才能連接docker,本文主要介紹了Docker實(shí)現(xiàn)TLS和CA認(rèn)證的方法步驟,具有一定的參考價(jià)值,感興趣的可以了解一下2024-06-06Docker容器中文亂碼(修改docker容器編碼格式)的解決方案
這篇文章主要介紹了Docker容器中文亂碼(修改docker容器編碼格式)的解決方案的相關(guān)資料,需要的朋友可以參考下2016-12-12docker安裝并運(yùn)行rabbitmq的實(shí)例代碼
在本篇文章里小編給大家整理了關(guān)于docker安裝并運(yùn)行rabbitmq的實(shí)例代碼以及相關(guān)知識(shí)點(diǎn),需要的朋友們學(xué)習(xí)下。2019-10-10如何在mac上用docker對(duì)Oracle進(jìn)行部署使用
這篇文章主要介紹了如何在mac上用docker對(duì)Oracle進(jìn)行部署使用,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03導(dǎo)出與導(dǎo)入Docker的容器實(shí)現(xiàn)示例
本文主要介紹了導(dǎo)出與導(dǎo)入Docker的容器實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12docker中的環(huán)境變量使用與常見問(wèn)題解決方案
這篇文章主要給大家介紹了關(guān)于docker中環(huán)境變量使用與常見問(wèn)題解決方案的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用docker具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03