在Master上安裝Docker
通過依次執行下面的命令,在Master服務器上安裝Docker
apt-get update apt-get install -y apt-transport-https ca-certificates curl software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable" apt-get update apt-get install -y docker-ce
創建Manager節點
docker swarm init #現在初始化Master服務器。。一個Docker Swarm集群需要Manager節點。
執行后會返回類似下面 的內容,可以在子節點(Slave)中執行,加入swarm
docker swarm join --token SWMTKN-1-0hqsajb64iynkg8ocp8uruktii5esuo4qiaxmqw2pddnkls9av-dfj7nf1x3vr5qcj4cqiusu4pv 45.77.138.242:2377? docker info |grep -A5 Swarm #查看當前集群信息 docker node ls #查看節點狀態,node ID旁邊那個*號表示現在連接到這個節點上。 docker info #查看docker所有基礎信息 docker swarm init --advertise-addr 192.168.71.131 #--advertise-addr參數表示其它swarm中的worker節點使用此ip地址與manager聯系。命令的輸出包含了其它節點如何加入集群的命令。 docker swarm join-token worker #如果你不知道或者忘記了Swarm Manager節點的Token信息, 你可以在Manager節點上執行以下命令查看Worker節點連接所需要的Token信息。 hostnamectl set-hostname swarm01 #修改主機名 docker network ls #查看集群網絡 docker node promote swarm-node1 swarm-node2 #升級worker節點為manager節點 docker node demote swarm-node1 swarm-node2 #降級worker節點為manager節點
移除節點時需要先在worker節點上執行docker swarm leave命令將節點狀態設為Down后,在manager節點上執行docker node rm <node-name>移除。如果要移除manager節點,不建議使用–force id強制移除,而應該先進行降級后再移除。
docker swarm update #更新節點群? docker service ls #查看正在運行服務的列表
服務刪除
docker service rm helloworld#刪除服務時,會將服務在各個節點上創建的容器一同刪除,而并不是將容器停止。
docker pull registry:latest #私有源本身也是一個Docker的鏡像,先將拉取下來
創建私有源,信任源
docker pull registry :latest#私有源本身也是一個Docker的鏡像,先將拉取下來 dockerrun-d-p8003:5000--nameregistry-v/home/dockeruser /data:/tmp/registrydocker.io/registry:latest #-d表示該容器在后臺運行 #-p將主機的8003端口與容器的5000端口映射 #–name將容器的名稱命名為registry #-v表示將鏡像的存儲位置“/tmp/registry”變更為宿主機的“/home /dockeruser/data” #在啟動命令中,設置了對外開放的端口為8003端口,所以私有源的地址為 :45.77.138.242:8003 echo'{"insecure-registries":["45.77.138.242:8003"]}'>>/etc /docker/daemon.json #允許http systemctlrestartdocker
對于Slave服務器來說,只需要做三件事情:
- 安裝Docker
- 加入集群
- 信任源 下面是批量子節點的腳本
apt-get update apt-get install -y apt-transport-https ca-certificates curl software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable" apt-get update apt-get install -y docker-ce echo '{ "insecure-registries":["45.77.138.242:8003"] }' >> /etc/docker/daemon.json systemctl restart docker docker swarm join --token SWMTKN-1-0hqsajb64iynkg8ocp8uruktii5esuo4qiaxmqw2pddnkls9av-dfj7nf1x3vr5qcj4cqiusu4pv 45.77.138.242:2377 chmod +x init.sh ./init.sh