본문 바로가기
다물칸 주소복사
조회 수 128 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
Extra Form
구분 팁&트릭
출처 https://m.blog.naver.com/PostView.nhn?blogId=alice_k106&logNo=220234130166&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F

안녕하세요. 오랜만에 글 올리네요. 

일반적으로 Docker를 로컬에서 많이 사용하는데 로컬이 아닌 Remote에 있는 다른 서버의 도커를 빌드/컨테이너 생성/시작 등의 제어 및 상태수집을 하려면 Docker Remote API를 사용해야 합니다. 기본적으로 설치하고 서비스를 돌리면 Remote API를 구동하는 REST 서버가 구동하지 않기 때문에 옵션을 추가하는 방법을 알려드리겠습니다. 

운용방법

sudo vi /usr/lib/systemd/system/docker.service

위의 경로에 있는 파일을 VI로 엽니다.

ExecStart=/usr/bin/dockerd -D -H tcp://0.0.0.0:2375

위 부분을 찾아서 빨간 글자를 추가합니다. 포트는 다른 것으로 해도 됩니다. -D는 디버그 모드이기 때문에 개발할 때는 붙이고 운용할 때는 성능을 고려하여 빼고 운용하는 것이 좋습니다. 

저장하고 빠져나오신 후, 

  1. sudo service docker restart
  2. sudo systemctl daemon-reload

위 명령을 순서대로 넣으세요. 서비스 재시작하면 두번째 명령을 실행하라는 경고문구가 나옵니다. 

 

이렇게 서비스를 재실행하면 로컬에서 CLI명령이 먹지 않습니다. 로컬 소켓이 아닌 REST 서버를 통해 수행해야 하기 때문에 아래와 같이 명령을 수행합니다.

export DOCKER_HOST="tcp://0.0.0.0:2375"

이 환경변수는 ~/.bash_profile 등에 추가하여 쉘 진입 시 자동으로 추가되도록 하는 것이 좋을 겁니다.

 

별개로 Docker 서비스 로그를 보는 방법은 다음과 같습니다. Docker 컨테이너 로그가 아닌 도커데몬의 로그입니다. Remote API 자체에서도 에러가 나긴 하지만 서버로그도 같이 보는 것이 좋을 겁니다. 

sudo tail -f /var/log/messages | grep dockerd