Docker 데몬 서버 시작시 container 함께 시작시키기

로컬에서 개발할 때 출근 하고 랩탑을 켜고 Docker desktop을 실행시키면 매번 docker run명령을 통해 자주 쓰는 container를 실행시켜줘야 한다. 주로 로컬 DB가 있는 경우 이런 귀찮음이 엄청나다. 이럴 때는 –restart 옵션을 주면 docker desktop을 실행시킬 때 마다 container를 항상 같이 띄울 수 있다.

혹은 서버에서 docker container가 죽는 경우 재시작을 할 수 있도록 설정할 수도 있다.

 docker run --name mysql57 \
    -p 3306:3306 \
    -e MYSQL_ROOT_PASSWORD=th.deng \
    -e MYSQL_ROOT_HOST='%' \
    --restart=unless-stopped \
    -d \
    mysql/mysql-server:5.7 \
    --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ciCode language: JavaScript (javascript)
--restart 옵션은 4가지가 있다.:
no: container를 재시작 시키지 않는다. (default)
on-failure[:max-retries]: container가 정상적으로 종료되지 않은 경우(exit code가 0이 아님)에만 재시작 시킨다. max-retries도 함께 주면 재시작 최대 시도횟수를 지정할 수 있고, 테스트 서버 등과 같은 리모트에 설정하면 좋을 것 같다.
always: container를 항상 재시작시킨다. exit code 상관 없이 항상 재시작 된다.
unless-stopped: container를 stop시키기 전 까지 항상 재시작 시킨다.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

5 + 4 =