[docker] Swarm

HardCarry·2023년 5월 10일
0

Stacks 에서 도커 스웜으로 생성 하는법

sudo docker swarm init

그리고 PORTAINER Stacks에 스크립트 작성

예제

version: '3.2'

services:
  agent:
    image: portainer/agent
    environment:
      AGENT_CLUSTER_ADDR: tasks.agent
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /var/lib/docker/volumes:/var/lib/docker/volumes
    ports:
      - target: 9001
        published: 9001
        protocol: tcp
        mode: host
    networks:
      - portainer_agent
    deploy: # deploy 없어도 스웜모드 된다.
      mode: global
      placement:
        constraints: [node.platform.os == linux]

networks:
  portainer_agent:
    driver: overlay
    attachable: true

도커가 스웜을 사용중인지 확인하는 법

스웜이 없을 경우 -> 에러메시지 출력

sudo docker node ls

Error response from daemon: This node is not a swarm manager. Use "docker swarm init" or "docker swarm join" to connect this node to swarm and try again.

있을 경우 -> 무언가 나온다

sudo docker node ls

ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
rcxsdx71420e12c3gws8b3di5 * hardcarry Ready Active Leader 18.09.7

에러 해결

stack 추가시에 stack 이름을 가지고 swarm 에 등록 되는 것 같다.
그래서, stack 을 다른 이름으로 추가해서 등록하면, swarm에 등록 되지 않는다.

해결방법
기존의 스택을 지우고, 다시 같은 이름으로 등록 할 것

profile
안녕하세요, 하드캐리입니다

0개의 댓글