docker 官方文档(三)

虽然键入docker run很简单,但生产中容器的真正实现是将其作为服务运行。服务在Compose文件中编码容器的行为,此文件可用于扩展,限制和重新部署我们的应用程序

一、创建docker-compose.yml

version: "3"
services:
  web:
    # replace username/repo:tag with your name and image details
    image: litufu/getstarted:part2
    deploy:
      replicas: 5   #运行5个容器
      resources:
        limits:
          cpus: "0.1"   #每个容器使用10%的cpu
          memory: 50M  #每个容器占用50m内存
      restart_policy:
        condition: on-failure  #当失败时重启容器
    ports:
      - "4000:80"     #隐射到80端口
    networks:
      - webnet   #指示web容器通过称为负载平衡的网络共享端口80 webnet
networks:
  webnet:   #使用默认设置(负载平衡的覆盖网络)定义网络

2、运行新的负载均衡应用

docker swarm init

  我们的单个服务堆栈在一台主机上运行已部署映像的5个容器实例

docker stack deploy -c docker-compose.yml getstartedlab

 

docker service ls
docker service ps getstartedlab_web

  

docker container ls -q

  在服务中运行的单个容器称为任务任务被赋予以数字递增的唯一ID,最多为replicas您定义 的数量docker-compose.yml列出您的服务任务:

 三、扩展应用程序

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

删除应用:

docker stack rm getstartedlab

  关掉swarm

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

  

 

 

 

 

 

 

 

  

 

posted @ 2018-07-12 15:46  tutu_python  阅读(151)  评论(0)    收藏  举报