iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 10
0
Kubernetes

從Docker到Kubernetes-新手入門筆記系列 第 10

Day10-Docker Compose(上)

前面介紹跑node.js應用程式的container及redis的container

當然我們可以在node.js container底下安裝redis,然而以後要擴充node.js server的時候會有問題,redis server無法被多個container共用。

因而拆成兩個container是比較好的做法,但兩個container要怎麼通訊?

docker提供docker network來設定networking,比較複雜。

使用docker-compose CLI容易的多

透過docker-compose.yml設定檔,可以將多個container形成封閉網路,container彼此透過name來彼此通訊

在專案根目錄底下,新增docker-compose.yml

#目前docker-compose版本是3
version: '3'
#在Services下列出內部網路相關的container
services: 
    # node.js container name
    nestapp:
        # 可以指定Dockerfile build image
        build: .
        # 設定port mapping
        ports: 
            -'8080:3000'
    # redis container name   
    redis-server:
        # 指定由image建立container
        image: 'redis'

要啟動這一組containers:

  • docker-compose up (相當於單一container的docker run)
  • docker-compose up --build(告訴docker-compose rebuild後run)

明天繼續


上一篇
Day9-Dockerize Node.js Web應用程式(下)
下一篇
Day11-Docker Compose(下)
系列文
從Docker到Kubernetes-新手入門筆記30

尚未有邦友留言

立即登入留言