docker swarm basic usage

swarm, google翻译成 一群 , 呵...

其实想表达的应该是一群服务, 看官方的介绍, 用来启动一个Web, redis, mysql等, 意思是一个应用系统所有的服务都可以用它来启动, 而且配置好之后就一键启动了, 还提供负载功能, 自动重启等功能? Anyway, 简单使用如下:

初始化swarm:

docker swarm init

其次要有一个 docker-compose.yml 文件

version: '3'
services:
  oshop:
    image: "oshop:latest"
    ports:
      - "62301:62301"
    environment:
      - ASPNETCORE_ENVIRONMENT=Production
      - 'ASPNETCORE_URLS=http://*:62301'
      # 上面这一行, 我想说的是我并没有在项目里指定 ASPNETCORE_URLS 环境变量, 仅仅在这里指定, 也是可以生效的
      # 而且, 如果不在这里指定端口号, 就没有别的方式指定端口了, 默认运行在80端口, 当然, 我并没有在Main方法里使用 UseUrls 方法指定端口
      # 如果想在linux上直接运行的话, dotnet run xxx --urls="http://*:xxxx"就可以指定端口了, 当然需要在Main方法调用CreateDefaultBuilder时传了命令行参数Args进去, 
    # 其实默认生成的Main就有传的, 不修改就好了 # 这里指定的是.net core web服务在docker里对外提供服务的端口 volumes:
- "/root/app/svnresource/oshop/logs:/app/logs" deploy: replicas: 3 update_config: parallelism: 2 elasticsearch: image: "docker.elastic.co/elasticsearch/elasticsearch:7.2.0" ports: - "9200:9200" - "9300:9300" environment: discovery.type: "single-node"

 

 

  • docker stack deploy --compose-file docker-compose.yml my-stack  
  • docker stack services my-stack //列出指定stack的所有service
  • docker stack ls //列出所有stack
  • docker stack rm xxx // 移除指定 stack
  • docker service ls // 列出所有service
  • docker service ps xxx // 列出指定service的所有container

以上命令初看较多, 难以强记, 不过核心就是 docker stack 和 docker service , 不记得的话 --help即可查看详细命令介绍

转载于:https://www.cnblogs.com/lihan829/p/11204326.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值