반응형

이번에 개발이 완료된 제품들을 윈도우 OS인 서버에 도커를 통해 처리하였다.
문제없이 셋업은 되었지만 혹시 모를 상황으로 서버가 재기동되면 알아서 컨테이너가 구동되도록 설정하고 싶어졌다.

🐳 서버 재기동시 도커 컨테이너 자동 시작처리하기

⭐️ docker-compose를 사용하는 경우

restart: always옵션을 도커 컴포즈에 추가한다.

docker-compose.yml

version: "3"

services:
  product_name:
    image: 제품명
    container_name: 컨테이너명
    ports:
      - 8080:8080
    volumes:
      - ./logs:/code/logs
    environment:
      TZ: Asia/Seoul
    depends_on:
      - maria_db
    command:
      - "sh"
      - "-c"
      - >
        python server/init/init_data.py &
        gunicorn -c /code/server/app/config/gunicorn_config.py server.app.main:app
    restart: always

  maria_db:
    image: mariadb
    container_name: maria_db
    ports:
      - 3306:3306
    volumes:
      - ./mariadb/conf.d:/etc/mysql/conf.d
      - ./mariadb/data:/var/lib/mysql
      - ./mariadb/initdb.d:/docker-entrypoint-initdb.d
    env_file: mariadb/.env
    environment:
      TZ: Asia/Seoul
    restart: always

⭐️ 명령어를 통한 설정

이미 컨테이너 설정이 끝나고 사용중이라면 아래 명령어를 통해 처리가 가능하다.

C:\Users\cloud> docker update --restart=always 컨테이너ID값

컨테이너 ID값은 Docker Desktop이 있다면 해당 프로그램을 실행시키고 컨테이너의 각 ID값을 가져오거나 아래 명령을 통해서도 확인이 가능하다.

C:\Users\cloud> docker ps -a

반응형