1. Stack
stack(譯:堆疊,堆棧)是一組相互關聯的服務,它們共享依賴關系,並且可以一起編排和伸縮。
在上一篇《Docker 服務》中我們知道可以通過創建一個docker-compose.yml文件,並使用docker stack deploy來部署stack。但那是運行在單機上的單個服務stack,在實際生產環境中是絕不會這樣做的。因此,我們有必要掌握使多個服務彼此關聯,並在多台機器上運行它們。
2. 添加一個新的服務並重新部署
(1)編輯docker-compose.yml
這里,我們添加了一個和web對等的新服務,名字叫visualizer。有兩點需要注意:
- volums,它為Docker提供了對主機socket文件的可視化訪問
- placement,確保該服務只在manager上運行,而不是在worker上
這是因為這個容器是由Docker創建的一個開源項目構建的,它在圖中顯示了運行在集群上的Docker服務
(2)更新docker-compose.yml並重新部署
(3)訪問
(4)在此基礎上,再添加一個redis服務
為了和之前的配置區別開,這里我們新建一個文件docker-compose-with-redis.yml
在myvm1宿主目錄下創建data目錄
重新部署
再訪問manager的80端口,可以看到我們每訪問一次,頁面上的訪問數量都會加1
3. 完整演示
4. 備忘單