docker-swarm 簡版入門教程

  • 1.安裝docker環(huán)境,參考其他教程

  • 2.初始化docker swarm
    docker swarm init [option]

  • 3.創(chuàng)建網(wǎng)關(guān) over-lay
    docker network create -d overlay swarm-overlay

  • 4.登錄私有docker私服
    sudo docker login -u 'username' -p 'password' registry-vpc.cn-hangzhou.aliyuncs.com

  • 5.部署deploy
    docker stack deploy -c docker-stack-deloy.yml --with-registry-auth {stackName}

  • 6.其他命令

# 查看服務運行情況
docker service ls

# 輸出docker swarm service日志
docker service logs -f --tail=100 {serviceName}

# 查看所有堆棧
docker stack ls 

# 查看stack內(nèi)容器運行情況
docker stack ps {stackName} 

# 刪除指定鏡像關(guān)聯(lián)的Exited容器
sudo docker container rm $(sudo docker container ls -a|grep 'registry-vpc.cn-hangzhou.aliyuncs.com/xxxxx'|grep 'Exited'|awk '{print $1}')

# 刪除未被容器使用關(guān)聯(lián)指定鏡像($GIT_COMMIT 為 jenkins中的session級別的環(huán)境變量 )
sudo docker rmi $(sudo docker image ls|grep 'registry-vpc.cn-hangzhou.aliyuncs.com/xxxxx'|grep -v $GIT_COMMIT|awk '{print $3}')

# 橫向擴容/收縮
docker service scale {serviceName}=2
  • 7.其他 docker-stack-deloy.yml 文件參考 (endpoint_mode 默認為 vip 模式)
version: "3.7"
services:
  content-cloud-admin-test:
    image: registry-vpc.cn-hangzhou.aliyuncs.com/xxx/xxx:xxxxx
    ports:
      - "8080:8080"
    networks: 
      swarm-overlay: {}
    #volumes:
    #  - /data/kong/data:/home/kong
    volumes:
      - ./logs/:/opt/xxx/admin/logs
    environment:
      - spring.profiles.active=test
      - JAVA_OPTS=-Xmx512m -Xms512m -Xss256k -XX:MetaspaceSize=256M -XX:+DisableExplicitGC  -XX:+PrintGCDetails -XX:TargetSurvivorRatio=80 -XX:-PrintAdaptiveSizePolicy  -XX:+PrintGCDateStamps -XX:SurvivorRatio=8 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=java_heapdump.hprof  -Xloggc:gc.log
    deploy:
      mode: replicated
      replicas: 1
      #endpoint_mode: dnsrr
      endpoint_mode: vip
      resources:
        limits:
          cpus: "1.0"
          memory: 1024M
        reservations:
          cpus: "0.5"
          memory: 512M
      restart_policy:
        condition: on-failure
        delay: 5s
        window: 60s
      update_config:
        parallelism: 1
        delay: 10s
        monitor: 60s
        order: start-first
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8080"]
      interval: 40s
      timeout: 5s
      retries: 3
      start_period: 90s

networks:
  swarm-overlay:
    driver: overlay
    external: true
    attachable: true
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容