도커 서버구성 주의점
Docker 로그인 관련
도커를 처음 설치하고(Docker Desktop 기준) 로그인을 스킵하고 컨테이너를 생성하면 credentials 오류가 발생한다.
이미지를 pull로 받아놓고 컨테이너를 생성하면 무리없이 진행할 수 있지만, 나중에 불편해질 수 있다.
하지만 docker login을 했음에도 에러가 걸릴 때가 있는데 그럴때는,
rm -rf ~/.docker/config.json
이 명령어로 파일을 지워주고 docker login 을 수행해주면 로그인이 잘 된다.
고정 IP 관련
서버를 구성하는데, 보장성을 위해서 DHCP에서 수동으로 IP를 고정시켰다. 그러면서 도커에서 문제가 발생했는데,
docker swarm에서 이미지를 잘 못불러온 것이다.
docker stack ... 으로 서비스를 생성하면 컨테이너는 생겼지만 up상태가 되지 않는데,
여기서
docker service ps <service-name> --no-trunc
를 하면 에러내역을 확인할 수 있다.
(여기서 --no-trunc는 잘려진 내용들도 모두 보이도록 하는 옵션이다)
에러는 no such image... 로 이미지가 다운받아져 있음에도 이미지를 찾지 못하고 있던 것이었다.
DHCP에서는 IP, 서브넷마스크, DNS 등 여러가지를 자동으로 설정해주지만, 고정IP로 바꾸면 이를 수동으로 하나하나 설정해주어야한다.
그러면서 도커가 레지스트리에서 이미지를 가져오기 위해 도메인명을 해석해야하는데 지정된 DNS가 없기 때문에 이미지를 못가져 오는 것이었다.
그래서 구글의 DNS 서버인 8.8.8.8 서버와 보조서버 8.8.4.4 를 지정해주는 것이다.