0
点赞
收藏
分享

微信扫一扫

『高级篇』docker之DockerSwarm的集群环境搭建(28)

server01

docker version

docker network ls

ifconfig

docker swarm init --advertise-addr 192.168.66.101

server02

server03

在server01中添加了server02 和server03的work后,查看网络

docker network ls

docker swarm的如何高可用

docker node ls

docker node promote docker-swarm-02
docker node promote docker-swarm-03

PS:以上就完成高可用的docker swarm的集群环境,其实真心比其他的简单。

测试集群环境

  • 小的镜像测试
docker service create --name test1 alpine ping www.baidu.com
docker service ls

docker service logs test1

  • nginx的环境测试
docker service create --name nginx nginx
docker service ls

docker service ls
docker service update --publish-add 8080:80 nginx
docker service ls

docker service scale nginx=3
docker service ls

  • 默认使用的Ingress下的overlay网络,两个service之前是无法通过service的名称进行访问的。可以试试。

自定义网络添加到docker swarm中。

  • 删除刚才创建nginx 和test1
docker service rm nginx test1

  • 创建网络
docker network create -d overlay idig8-overlay

  • 创建一个service指定网络
docker service create --network idig8-overlay --name nginx -p 8080:80 nginx
 docker service create --network idig8-overlay --name alpine alpine ping www.baidu.com

  • 查看alpine所在的机器,进入容器,ping nginx
docker service ps alpine

docker ps
docker exec -it 387dd735de74 sh
ping nginx

PS:当前的网络Ingress,容器之间的访问方式可以通过名字访问。在自定义的网络下swarm每个service,都创建一个dnsadress,一定要是自定义的overlay的。

  • dnsrr的方式
docker service create --name nginx-b --endpoint-mode dnsrr -p  8090:80 nginx

docker service updata --network-add idig8-overlay nginx-b
  • docker stack
version: "3.4"
services:
  alpine:
    image: alpine
    command:
      - "ping"
      - "www.baidu.com"
    networks:
      - "idig8-overlay"
    deploy:
      replicas: 2
      restart_policy:
        condition: on-failure
      resources:
        limits:
          cpus: "0.1"
          memory: 50M
    depends_on:
      - nginx
  nginx:
    image: nginx
    networks:
      - "idig8-overlay"
    ports:
      - "8080:80"
networks:
  idig8-overlay:
    external: true

docker stack ls
# -c 文件名 组名
docker stack deploy -c service.yml  test

PS:dockerSwarm的服务发现,负载均衡。

举报

相关推荐

docker高级篇redis集群

0 条评论