Docker學習筆記(七)Stacks

2021-08-29 05:20:54 字數 1973 閱讀 5602

stack其實就是相互關聯的一組service,一般地,應用的所有service就放在乙個stack裡,通過.yml檔案就可以一鍵完成應用部署,當然更複雜的應用可能會service拆分到多個stack中。在前面的筆記中。我們部署了單個service的stack,這節的demo在這個stack裡部署更多的service。

本文demo參考docker官方文件,有條件的朋友建議直接看原文link:

修改hello-service.yml檔案,在裡面新增兩個service:visualizer和redis。

visualizer:

image: dockersamples/visualizer:stable

ports:

- "8080:8080"

volumes:

- "/var/run/docker.sock:/var/run/docker.sock"

deploy:

placement:

constraints: [node.role == manager]

networks:

- webnet

redis:

image: redis

ports:

- "6379:6379"

volumes:

- "/home/hunk/docker:/data"

deploy:

placement:

constraints: [node.role == manager]

networks:

- webnet

node.role == manager指定這個service的例項均執行在swarm manager節點上,不會分到worker節點

部署應用

root@hunk-virtual-machine1:/home/hunk/docker# docker stack deploy -c hello-service.yml hello-service

updating service hello-service_visualizer (id: pjb8l0antomhh6riulm3k3o7n)

creating service hello-service_redis

updating service hello-service_web (id: y46ique6nw7taei64dfm44c6s)

root@hunk-virtual-machine1:/home/hunk/docker# docker service ls

id name mode replicas image

633175oy620e hello-service_redis replicated 1/1 redis:latest

pjb8l0antomh hello-service_visualizer replicated 1/1 dockersamples/visualizer:stable

y46ique6nw7t hello-service_web replicated 5/5 hebostary/gohead:demo1

root@hunk-virtual-machine1:/home/hunk/docker# docker stack ls

name services

hello-service 3

訪問hello-service_visualizer

訪問hello-service_web

docker學習筆記(七) Dockerfile

在映象的常用操作那篇文章我們講到在現有映象的基礎上建立新的映象,本篇文章我們來學習下使用dockerfile建立映象。什麼是dockerfile?定義 dockerfile是乙個文字格式的配置檔案,使用者可以使用dockerfile快速建立自定義映象。基本結構 dockerfile由一行行的命令語句...

Docker學習筆記(七) 私有倉庫

1 拉取私有倉庫映象 docker pull registry 2 啟動私有倉庫容器 docker run id name registry p 5000 5000 registry 3 開啟瀏覽器 輸入位址http 私有倉庫伺服器ip 5000 v2 catalog,看到 表示私有倉庫 搭建成功 ...

Docker學習筆記(七) 私有倉庫

1 拉取私有倉庫映象 docker pull registry 2 啟動私有倉庫容器 docker run id name registry p 5000 5000 registry 3 開啟瀏覽器 輸入位址http 私有倉庫伺服器ip 5000 v2 catalog,看到 表示私有倉庫 搭建成功 ...