docker (2)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/defending/article/details/83417202

part3

一个docker-compose.yml文件是一个YAML文件,它定义了Docker容器在生产中应如何表现。

version: "3"
services:
  web:
    # replace username/repo:tag with your name and image details
    image: username/repo:tag
    deploy:
      replicas: 5
      resources:
        limits:
          cpus: "0.1"
          memory: 50M
      restart_policy:
        condition: on-failure
    ports:
      - "4000:80"
    networks:
      - webnet
networks:
  webnet:

docker-compose.yml文件告诉Docker执行以下操作:

  • 从注册表拉我们在步骤2中上传的iamge。

  • 将该映像的5个实例作为一个被调用的服务运行web,限制每个实例使用,最多10%的CPU(跨所有内核)和50MB的RAM。

  • 如果一个失败,立即重启容器。

  • 将主机上的端口4000映射到web端口80。

  • 指示web容器通过称为负载平衡的网络共享端口80 webnet。(在内部,容器本身web在短暂的端口发布到 80端口。)

  • webnet使用默认设置(负载平衡的覆盖网络)定义网络。

运行新的负载均衡应用

docker swarm init
docker stack deploy -c docker-compose.yml getstartedlab
docker service ls
docker service ps getstartedlab_web

扩展应用程序

您可以通过更改replicasdocker-compose.yml,保存更改并重新运行docker stack deploy命令来扩展应用程序:

docker stack deploy -c docker-compose.yml getstartedlab
  • 将应用程序删除docker stack rm

    docker stack rm getstartedlab
  • 离开群。

    docker swarm leave --force
docker stack ls                                            # List stacks or apps
docker stack deploy -c <composefile> <appname>  # Run the specified Compose file
docker service ls                 # List running services associated with an app
docker service ps <service>                  # List tasks associated with an app
docker inspect <task or container>                   # Inspect task or container
docker container ls -q                                      # List container IDs
docker stack rm <appname>                             # Tear down an application
docker swarm leave --force      # Take down a single node swarm from the manager

猜你喜欢

转载自blog.csdn.net/defending/article/details/83417202