詳解Docker-compose networks 的例子
今天實(shí)驗(yàn)了下 docker 下的網(wǎng)絡(luò)設(shè)置,記錄一下過(guò)程,以免后面忘記。
(系統(tǒng):Centos 7.4 ,docker 版本:18.03.1-ce, docker-compose version 1.18.0)
cat docker-compose.yml
version: '3'
services:
test1:
image: busybox:latest # 鏡像為 busybox
entrypoint: # 容器啟動(dòng)后執(zhí)行 top 命令,使容器沒法立即退出
- top
networks:
backend: # 使用指定的網(wǎng)絡(luò) backend, 并且設(shè)置網(wǎng)絡(luò)別名為 test1,
aliases: # 設(shè)置網(wǎng)絡(luò)別名后,可以在其他容器中 ping test1 訪問(wèn)到該容器
- test1
test2:
image: busybox:latest
entrypoint:
- top
networks:
backend:
aliases:
- test2
networks:
backend:
啟動(dòng)
docker-compose up -d docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4d05ceb2088d busybox:latest "top" 5 seconds ago Up 4 seconds ibaboss_test2_1 f4ccafa24664 busybox:latest "top" 5 seconds ago Up 4 seconds ibaboss_test1_1 docker exec -it 4d05ceb2088d /bin/sh / # ping test1 PING test1 (172.19.0.2): 56 data bytes 64 bytes from 172.19.0.2: seq=0 ttl=64 time=0.061 ms 64 bytes from 172.19.0.2: seq=1 ttl=64 time=0.062 ms ping ibaboss_test1_1 PING ibaboss_test1_1 (172.19.0.2): 56 data bytes 64 bytes from 172.19.0.2: seq=0 ttl=64 time=0.045 ms 64 bytes from 172.19.0.2: seq=1 ttl=64 time=0.056 ms 64 bytes from 172.19.0.2: seq=2 ttl=64 time=0.061 ms # 在網(wǎng)絡(luò)中可以通過(guò) 容器名字或者網(wǎng)絡(luò)的別名 進(jìn)行通信
Compose 的容器名稱格式是:<項(xiàng)目名稱><服務(wù)名稱><序號(hào)>
雖然可以自定義項(xiàng)目名稱、服務(wù)名稱,但是如果你想完全控制容器的命名,可以使用這個(gè)標(biāo)簽指定:
container_name: app cat docker-compose_v1.yml version: '3' services: test1: image: busybox:latest entrypoint: - top container_name: test1 networks: - backend test2: image: busybox:latest entrypoint: - top container_name: test2 networks: - backend networks: backend:
啟動(dòng)
docker-compose -f docker-compose_v1.yml up -d docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 132859fc77c2 busybox:latest "top" About a minute ago Up About a minute test2 cd0a78dc9bd4 busybox:latest "top" About a minute ago Up About a minute test1 docker exec -it 132859fc77c2 ping test1 PING test1 (172.19.0.2): 56 data bytes 64 bytes from 172.19.0.2: seq=0 ttl=64 time=0.070 ms 64 bytes from 172.19.0.2: seq=1 ttl=64 time=0.068 ms 64 bytes from 172.19.0.2: seq=2 ttl=64 time=0.059 ms
補(bǔ)充:
docker compose 多容器共用網(wǎng)絡(luò)問(wèn)題
前幾天計(jì)劃使用docker compose 編寫一個(gè)多容器共用一個(gè)容器網(wǎng)絡(luò),結(jié)果總是報(bào)錯(cuò),今天又試了一下才發(fā)現(xiàn)是端口綁定的問(wèn)題造成的,端口只能綁定在產(chǎn)生網(wǎng)卡的容器上,綁定在其它窗口上就會(huì)報(bào)錯(cuò),如下代碼 mysql服務(wù)共用了nginx的網(wǎng)卡,在mysql里使用了port:3306時(shí)就會(huì)運(yùn)行失敗,將3306移到nginx上啟動(dòng)就成功了。
version: '3.3' services: nginx: image: "lnp_php" # container_name: "lnmp_nginx" ports: - "80:80" - "443:443" - "3306:3306" expose: - "3306" volumes: - /home/www/php:/home/www:rw # depends_on: # - mysql # links: # - mysql mysql: image: "mysql" # container_name: "lnmp_mysql" # ports: # - "3306:3306" # expose: # - "3306" volumes: - /home/docker/conf/mysql_w:/etc/mysql:rw environment: - MYSQL_ROOT_PASSWORD=123456 depends_on: - nginx network_mode: "service:nginx"
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
docker如何自定義網(wǎng)絡(luò)問(wèn)題
這篇文章主要介紹了docker如何自定義網(wǎng)絡(luò)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03
詳解docker pull 下來(lái)的鏡像都存到了哪里
這篇文章主要介紹了詳解docker pull 下來(lái)的鏡像都存到了哪里,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
docker-compose+nginx部署前后端分離的項(xiàng)目實(shí)踐
本文主要介紹了docker-compose?+?nginx部署前后端分離的項(xiàng)目,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03
Docker部署Mysql8.0.20并配置主從復(fù)制的實(shí)現(xiàn)步驟
主從復(fù)制是指數(shù)據(jù)可以從一個(gè)MySQL數(shù)據(jù)庫(kù)服務(wù)器主節(jié)點(diǎn)復(fù)制到一個(gè)或多個(gè)從節(jié)點(diǎn),本文主要介紹了Docker部署Mysql8.0.20并配置主從復(fù)制的實(shí)現(xiàn)步驟,具有一定的參考價(jià)值,感興趣的可以了解一下2024-06-06
Docker 安裝 MySQL 并實(shí)現(xiàn)遠(yuǎn)程連接教程
這篇文章主要介紹了Docker 安裝 MySQL 并實(shí)現(xiàn)遠(yuǎn)程連接的教程,幫助大家更好的理解和使用docker容器,感興趣的朋友可以了解下2020-09-09
docker update命令動(dòng)態(tài)更新容器配置
Docker的docker update命令提供了一種在不停止容器的情況下動(dòng)態(tài)調(diào)整其資源配置的能力,從而優(yōu)化性能或滿足特定需求,本文詳細(xì)介紹了docker update命令的使用方法、常用選項(xiàng)如CPU和內(nèi)存限制,感興趣的可以了解一下2024-10-10

