Portainer에 윈도우 컨테이너를 등록하는 방법
윈도우 컨테이너도 당연히 Portainer에 등록해 사용할 수 있습니다. ^^ 지난 글에서 Docker Engine 서비스에 "--config-file"을 지정하는 것을 소개했는데요,
윈도우 환경에서의 dockerd.exe("Docker Engine" 서비스)가 Linux의 것과 다른 점
; https://www.sysnet.pe.kr/2/0/12168
따라서 daemon.json 파일에 다음과 같이 tcp 바인딩을 추가해,
{
"registry-mirrors": [],
"insecure-registries": [],
"debug": true,
"experimental": false,
"data-root": "d:\\my_docker_win",
"hosts": [
"tcp://0.0.0.0:2375",
"npipe://"
]
}
NT 서비스의 명령행에 이를 지정해 두면 됩니다. (물론, 기본 daemon.json 파일의 내용을 수정해도 됩니다.)
"C:\Program Files\docker\dockerd.exe" --run-service --config-file D:\my_docker_win\config\daemon.json
이후, Portainer 측에서 "Endpoints" 설정에 다음과 같이 추가할 수 있습니다.
가령, 대상 win-testpc의 IP가 192.168.100.25라고 하면 위의 화면에서 다음과 같이 값을 채워주면 됩니다.
Endpoint URL: 192.168.100.25:2375
Public IP: 192.168.100.25
그나저나, Portainer의 대시보드가 에러 인식에 대한 지원이 좀 미흡하군요. ^^ 예를 들어 mongodb 컨테이너를 실행했더니,
$ docker run -d -p 27017:27017/tcp --restart=always --name mongodb_inst -it mongo
Portainer의 대시보드에는 "running"으로 나오지만,
보는 바와 같이 "포트 매핑"이 안 됩니다. 이런 경우 보다 자세한 상황은 docker 명령어로 알아낼 수 있는데요,
$ docker ps | grep mongo
7d132f4ba3b8 mongo "docker-entrypoint.s…" About a minute ago Restarting (132) 26 seconds ago
그러니까, running 상태이긴 한데 "Restarting..."을 반복하는 이상 상태임을 대시보드에서는 알 수 없었던 것입니다.
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]