docker基础三

我们接下来将要扩展我们的应用并使其能够负载均衡,要做到这一点,我们不得不提到下一个概念:服务

关于服务

我们将发布的应用中的不同部分成为服务。例如,一个视频网站有可能由数据库服务、视频转码服务、前端服务构成。
服务事实上就是生产环境中的容器。一个服务由一个image产生,但服务同时还会规定image的运行细节如使用哪个端口与外界通信、使用多少容器来运行这个image的副本以使其获得其需要的性能,等等。
幸运的是,在docker平台下这一切工作的展开会如丝般顺滑--你只需编写一个名为docker-compose.yml的文件。

docker-compose.yml

这个文件规定了容器在运行时的一些重要细节,示例如下:

version: "3"
services:
    web:
        image: username/repo:tag
        deploy:
            replicas: 5 #执行五个称为web的服务
            resources:
                limits:
                    cpus: "0.1"
                    memory: 50M
            restart_policy:
                condition:on-failure
       ports:
            - "80:80" #容器的80端口与外部的80端口进行映射
       networks:
            - webnet
networks:
    - webnet
运行应用

在开始运行之前,先将该节点(后面会解释)设为swarm manager

docker swarm init

接下来便可以运行了,我们可以为运行时的应用起名为getstartedlab

docker stack deploy -c docker-compose.yml getstartedlab

关闭应用并推出swarm

  • 关闭应用:
docker stack rm getstartedlab
  • 推出swarm
docker swarm leave --force
总结
docker stack ls #列表展示运行中的任务或者应用
docker stack deploy -c  # 根据yml配置文件来运行某个image
docker service ls #列表展示正在运行的服务
docker service ps #列表展示与应用相关的任务
docker inspect  #监视任务或者容器的运行状态
docker container ls -q #列表展示容器信息
docker stack rm  #结束应用的运行
docker swarm leave --force #将该节点推出swarm 模式

你可能感兴趣的:(docker基础三)