iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 8
1
DevOps

就是「懶」才更需要重視DevOps系列 第 8

Day8 不同yml檔,也可以讓容器彼此都能溝通

運行容器時,最常發生需要互相溝通的問題,容器與容器間的溝通,與虛擬機相同,只要網段一致,即可直接呼叫IP或容器名稱。因此,這邊示範如何在不同的容器中,讓他們有相同的網段。

## web_service 表示該段名稱
$ docker network create web_service



## 建置完畢後,可以透過以下指令查看
$ docker network ls

另外可以透過前幾天介紹的 Pontainer 查看網段IP,網路會因為建立順序而有不同網段,基本上 172.17.0.x 網段會留給 Docker 使用,所以新網段會從 172.18.0.x 順延,如下圖 web_service 的網段為 172.18.0.x


將以下兩個不同路徑的 docker-compose.yml 跑起來後,在開啟redisAdmin 頁面,即可看見成果

  • 以下為範例架構:
.
├── Redis
│   └── docker-compose.yml
└── RedisAdmin
    ├── config.inc.php
    └── docker-compose.yml
  • Redis/docker-compose.yml
version: '3.1'

services:
  redis6379:
    image: redis:alpine
    container_name: Test_6379
    restart: always
    ports: 
      - 6379:6379
    # 指定使用那一條網路
    networks:
      - web_service

# 表示服務用的網絡是用外部的網路,並且搜尋名稱為「web_service」 
# 搜尋成功後會自動與「redis」服務相連
# 若搜尋失敗,則會顯示該錯誤
# ERROR: Please create the network manually using `docker network create web_services` and try again.
networks:
  web_service:
    external: true
  • RedisAdmin/docker.compose.yml
version: '3.1'

services:
  redis-admin:
    image: erikdubbelboer/phpredisadmin
    container_name: redisAdminer
    restart: always
    ports:
        - 8080:80
    volumes: 
      - ./config.inc.php:/src/app/includes/config.inc.php
    # 指定使用那一條網路
    networks:
      - web_service

# 表示服務用的網絡是用外部的網路,並且搜尋名稱為「web_service」 
# 搜尋成功後會自動與「redis-admin」服務相連
# 若搜尋失敗,則會顯示該錯誤
# ERROR: Please create the network manually using `docker network create web_services` and try again.
networks:
  web_service:
    external: true
  • RedisAdmin/config.inc.php
<?php
include 'config.sample.inc.php';
$config['servers'] = array();
$config['servers'][] = array(
  'name'   => "Test_6379", # 顯示在 RedisAdmin 頁面上的名稱,可以隨意亂取名
  'host'   => "Test_6379", # Redis 容器名稱
  'port'   => "6379",      # Redis Port
  'filter' => '*',
);

?>

以上完成不同的 docker-compose.yml 檔案,且互相溝通案例


上一篇
Day7 容器世界該如何彼此溝通
下一篇
Day9 該如何將Docker Run 指令,轉換成Docker-compose內容
系列文
就是「懶」才更需要重視DevOps30

1 則留言

0
alincode
iT邦新手 2 級 ‧ 2019-09-26 15:22:54

搜尋成成功後會自動 -> 搜尋成功後會自動

我要留言

立即登入留言