도커 외부 주소 바꾸는 법

2024. 4. 13. 18:50유용한 끄적임

본 글은 아래 도커 문서를 기반으로 작성했습니다.

 

Configure remote access for Docker daemon

Configuring remote access allows Docker to accept requests from remote hosts by configuring it to listen on an IP address and port as well as the Unix socket

docs.docker.com

 

 


Docker Service Failed

 

이사를 해서 인터넷 환경이 바뀌었더니,

처음 설정했던 도커 외부 주소 때문에 도커 실행이 안되는 상황에 직면했다.

 

sudo systemctl status docker
[sudo] ? 암호: 
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Sat 2024-04-13 17:46:44 KST; 40min ago
TriggeredBy: ● docker.socket
       Docs: 
https://docs.docker.com
   Main PID: 3161 (code=exited, status=1/FAILURE)

 4월 13 17:46:44 dim systemd[1]: docker.service: Scheduled restart job, restart counter is at 3.
 4월 13 17:46:44 dim systemd[1]: Stopped Docker Application Container Engine.
 4월 13 17:46:44 dim systemd[1]: docker.service: Start request repeated too quickly.
 4월 13 17:46:44 dim systemd[1]: docker.service: Failed with result 'exit-code'.
 4월 13 17:46:44 dim systemd[1]: Failed to start Docker Application Container Engine.

 

물론 처음 만난 로그는 위에 것은 아니고, 아래 메시지가 있어서 대략 유추할 수 있었다.

... /usr/bin/dockerd -H fd:// -H tcp://옛날 주소

 

 

 

 

 

 


Change Docker Address

 

리서치 해본 결과, docker 설정 파일을 건드리면 된다는데 생각보다 일이 커질 것 같아 패스...

도커 실행 명령어를 간단하게 고치는 것으로 해결하려고 했다.

sudo systemctl edit docker.service

 

를 실행하면 nano 창이 등장하는 데, 바로 작성할 수 있다.

아래처럼 원하는 주소로 바꿔보자.

[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://원하는 주소

 

끝났으면 ctrl + o 를 누르고 저장한 후 ctrl + x를 눌러 나가면 된다.

본인의 경우에는 ctrl + o를 눌렀을 때 파일 이름을 결정하라는 메시지를 추가로 받았는데,

굳이 바꿀 필요 없이 그냥 엔터 누르면 된다.

 

이제 도커를 다시 실행해보면

sudo systemctl restart docker.service
sudo systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
    Drop-In: /etc/systemd/system/docker.service.d
             └─override.conf
     Active: active (running) since Sat 2024-04-13 18:37:09 KST; 6s ago
TriggeredBy: ● docker.socket
       Docs: 
https://docs.docker.com
   Main PID: 4542 (dockerd)
      Tasks: 22
     Memory: 50.7M
     CGroup: /system.slice/docker.service
             ├─4542 /usr/bin/dockerd -H fd:// -H tcp://...
             └─4775 /usr/bin/docker-proxy -proto tcp -host-ip 127.0.0.1 -...

 

잘 되는 것을 확인할 수 있다.