1.后台启动容器:
--这个容器=centos7.9+httpd+其他服务+web
docker run -it -d --name -p 8010:80 httpd:2.4.43.web
[root@es1 httpd]# docker run -it -d --name httpd80 -h httpd80 -p 8010:80 httpd:2.4.43.web
980daae0253e070f12ccffe831a70c9f16b4f7651015fe7cb6dbced9c9ab54c8
curl http://192.168.1.7:8010
[root@es1 httpd]# curl http://192.168.1.7:8010
Hello,我就是那个Httpd页面
[root@es1 httpd]#
--将容器推送到
docker tag httpd:2.4.43.web 192.168.1.11:443/myharbor/httpd:2.4.43.web
docker push 192.168.1.11:443/myharbor/httpd:2.4.43.web
[root@es1 httpd]# docker push 192.168.1.11:443/myharbor/httpd:2.4.43.web
The push refers to repository [192.168.1.11:443/myharbor/httpd]
36f77f77f092: Pushed
c309a3a3814e: Pushed
926e9c9ed6ef: Layer already exists
95fc04bb93b4: Layer already exists
a1e50c665c7e: Layer already exists
eb24dabcb0ae: Layer already exists
2e6ab2394e82: Layer already exists
9dea400e0ddc: Layer already exists
f5417bd42626: Layer already exists
5d2ff5c468a0: Layer already exists
d807be01506f: Layer already exists
833f7306f27a: Layer already exists
e161d0a33a8b: Layer already exists
ffed69ff6a9d: Layer already exists
5437c0585253: Layer already exists
9979d9dce0cc: Layer already exists
1f064a3e4d08: Layer already exists
ea6300be4f37: Layer already exists
2034b46e5e6b: Layer already exists
fe4d8b14dca7: Layer already exists
53c61a520c85: Layer already exists
88765da43086: Layer already exists
2ca40431ab7d: Layer already exists
caceb42f09c2: Layer already exists
5b1d42135d46: Layer already exists
174f56854903: Layer already exists
2.4.43.web: digest: sha256:a6193ca7eccfe33c5264f7ab5bf70c21e1f6f113d4be1ebf4d3619e9ac84d1c7 size: 5764
2.启动docker swarm-httpd集群。
docker node ls
[root@es1 httpd]# docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
lbcg0z4t2n3lgn4nld4brdsx7 * es1 Ready Active Leader 20.10.16
gtwzo26t996ht7ohfsy533l2u es2 Ready Active 20.10.16
v5zlbhia4kial3jqjadqm7xia es3 Ready Active 20.10.16
--创建overlay网络
docker network create -d overlay net_overlay
[root@es1 httpd]# docker network create -d overlay net_overlay
j00ptzxgkl4zx9y9uf2977xad
docker network ls | grep net_overlay
[root@es1 httpd]# docker network ls | grep net_overlay
j00ptzxgkl4z net_overlay overlay swarm
--创建集群:6个容器实例。
docker service create --replicas 6 --network net_overlay -p \
8010:80 192.168.1.11:443/myharbor/httpd:2.4.43.web
[root@es1 httpd]# docker service create --replicas 6 --name myweb8010 net_overlay -p \
> 8010:80 192.168.1.11:443/myharbor/httpd:2.4.43.web
in0hkqvicvrkgu713evwfw9uh
overall progress: 6 out of 6 tasks
1/6: running
2/6: running
3/6: running
4/6: running
5/6: running
6/6: running
verify: Service converged
3.服务检查
docker service ls
[root@es1 httpd]# docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
in0hkqvicvrk myweb8010 replicated 6/6 192.168.1.11:443/myharbor/httpd:2.4.43.web *:8010->80/tcp
docker service ps myweb8010
[root@es1 httpd]# docker service ps myweb8010
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
pntt2n63yi16 myweb8010.1 192.168.1.11:443/myharbor/httpd:2.4.43.web es2 Running Running 39 seconds ago
q5fl99fda6re myweb8010.2 192.168.1.11:443/myharbor/httpd:2.4.43.web es1 Running Running 2 minutes ago
fdqtgvdxjpwj myweb8010.3 192.168.1.11:443/myharbor/httpd:2.4.43.web es3 Running Running 34 seconds ago
t48w7duafxs6 myweb8010.4 192.168.1.11:443/myharbor/httpd:2.4.43.web es2 Running Running 39 seconds ago
jq4m1fpli6xg myweb8010.5 192.168.1.11:443/myharbor/httpd:2.4.43.web es1 Running Running 2 minutes ago
8emivp3bx2n9 myweb8010.6 192.168.1.11:443/myharbor/httpd:2.4.43.web es3 Running Running 34 seconds ago
6.高可用测试
http://192.168.1.7:8010
http://192.168.1.9:8010
http://192.168.1.10:8010
7.--删除容器服务。
docker service rm myweb8010
[root@es1 httpd]# docker service rm myweb8010
myweb8010
[root@es1 httpd]#