zoukankan      html  css  js  c++  java
  • docker swarm basic usage

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

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

    初始化swarm:

    docker swarm init

    这里会显示一个后续加入这个swarm用到的命令:

    docker swarm join --token SWMTKN-1-3pkha8y48eicaqezrh8hvwax8owhhu66bakrq4ej4uobbuzbub-0howm1xfe2r8s90jr50zv5t6d 192.168.1.6:2377

    要保存下来, 万一忘记了, 用以下命令找回来:

    docker swarm join-token worker:查看加入woker的命令。
    docker swarm join-token manager:查看加入manager的命令
    docker swarm join-token --rotate worker:重置woker的Token。
    docker swarm join-token -q worker:仅打印Token。

    其次要有一个 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即可查看详细命令介绍

  • 相关阅读:
    命令模式
    软件设计师_例题
    软件设计师_计算机系统基础(1.1)
    ForkJoin之ForkJoinTask框架学习笔记
    Oracle使用语句块之循环插入数据
    SpringCloud搭建分布式配置中心(基于git)
    Docker配置JDK1.8
    Linux命令查看文件内容
    Mac配置maven环境命令
    Docker安装mysql8
  • 原文地址:https://www.cnblogs.com/lihan829/p/11204326.html
Copyright © 2011-2022 走看看