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。列出您的服务任务:
三、扩展应用程序
您可以通过更改replicas值docker-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
浙公网安备 33010602011771号