Microsoft MVP성태의 닷넷 이야기
개발 환경 구성: 502. Portainer에 윈도우 컨테이너를 등록하는 방법 [링크 복사], [링크+제목 복사],
조회: 24577
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
(연관된 글이 1개 있습니다.)
(시리즈 글이 5개 있습니다.)
개발 환경 구성: 480. Linux 운영체제의 docker를 위한 tcp 바인딩 추가
; https://www.sysnet.pe.kr/2/0/12178

개발 환경 구성: 502. Portainer에 윈도우 컨테이너를 등록하는 방법
; https://www.sysnet.pe.kr/2/0/12289

Linux: 32. Ubuntu 20.04 - docker를 위한 tcp 바인딩 추가
; https://www.sysnet.pe.kr/2/0/12349

Linux: 61. docker - 원격 제어를 위한 TCP 바인딩 추가
; https://www.sysnet.pe.kr/2/0/13386

개발 환경 구성: 725. ssh를 이용한 원격 docker 서비스 사용
; https://www.sysnet.pe.kr/2/0/13734




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" 설정에 다음과 같이 추가할 수 있습니다.

windocker_portainer_1.png

가령, 대상 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"으로 나오지만,

portainer_port_pub_1.png

보는 바와 같이 "포트 매핑"이 안 됩니다. 이런 경우 보다 자세한 상황은 docker 명령어로 알아낼 수 있는데요,

$ docker ps  | grep mongo
7d132f4ba3b8   mongo  "docker-entrypoint.s…" About a minute ago Restarting (132) 26 seconds ago

그러니까, running 상태이긴 한데 "Restarting..."을 반복하는 이상 상태임을 대시보드에서는 알 수 없었던 것입니다.




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]

[연관 글]






[최초 등록일: ]
[최종 수정일: 10/22/2025]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 61  62  63  64  65  66  67  68  69  70  71  72  73  74  [75]  ...
NoWriterDateCnt.TitleFile(s)
12176정성태3/9/202025532개발 환경 구성: 478. 파일의 (sha256 등의) 해시 값(checksum) 확인하는 방법
12175정성태3/8/202025472개발 환경 구성: 477. "Docker Desktop for Windows"의 "Linux Container" 모드를 위한 tcp 바인딩 추가
12174정성태3/7/202023323개발 환경 구성: 476. DockerDesktopVM의 파일 시스템 접근 [3]
12173정성태3/7/202025660개발 환경 구성: 475. docker - SQL Server 2019 컨테이너 실행 [1]
12172정성태3/7/202030928개발 환경 구성: 474. docker - container에서 root 권한 명령어 실행(sudo)
12171정성태3/6/202025172VS.NET IDE: 143. Visual Studio - ASP.NET Core Web Application의 "Enable Docker Support" 옵션으로 달라지는 점 [1]
12170정성태3/6/202022201오류 유형: 599. "Docker Desktop is switching..." 메시지와 DockerDesktopVM CPU 소비 현상
12169정성태3/5/202024278개발 환경 구성: 473. Windows nanoserver에 대한 docker pull의 태그 사용 [1]
12168정성태3/5/202026691개발 환경 구성: 472. 윈도우 환경에서의 dockerd.exe("Docker Engine" 서비스)가 Linux의 것과 다른 점
12167정성태3/5/202023631개발 환경 구성: 471. C# - 닷넷 응용 프로그램에서 DB2 Express-C 데이터베이스 사용 (3) - ibmcom/db2express-c 컨테이너 사용
12166정성태3/4/202025981개발 환경 구성: 470. Windows Server 컨테이너 - DockerMsftProvider 모듈을 이용한 docker 설치
12165정성태3/2/202023701.NET Framework: 900. 실행 시에 메서드 가로채기 - CLR Injection: Runtime Method Replacer 개선 - 네 번째 이야기(Monitor.Enter 후킹)파일 다운로드1
12164정성태2/29/202025104오류 유형: 598. Surface Pro 6 - Windows Hello Face Software Device가 인식이 안 되는 문제
12163정성태2/27/202024136.NET Framework: 899. 익명 함수를 가리키는 delegate 필드에 대한 직렬화 문제
12162정성태2/26/202030189디버깅 기술: 166. C#에서 만든 COM 객체를 C/C++로 P/Invoke Interop 시 메모리 누수(Memory Leak) 발생 [6]파일 다운로드2
12161정성태2/26/202025073오류 유형: 597. manifest - The value "x64" of attribute "processorArchitecture" in element "assemblyIdentity" is invalid.
12160정성태2/26/202024264개발 환경 구성: 469. Reg-free COM 개체 사용을 위한 manifest 파일 생성 도구 - COMRegFreeManifest
12159정성태2/26/202019451오류 유형: 596. Visual Studio - The project needs to include ATL support
12158정성태2/25/202024618디버깅 기술: 165. C# - Marshal.GetIUnknownForObject/GetIDispatchForObject 사용 시 메모리 누수(Memory Leak) 발생파일 다운로드1
12157정성태2/25/202023638디버깅 기술: 164. C# - Marshal.GetNativeVariantForObject 사용 시 메모리 누수(Memory Leak) 발생 및 해결 방법파일 다운로드1
12156정성태2/25/202022113오류 유형: 595. LINK : warning LNK4098: defaultlib 'nafxcw.lib' conflicts with use of other libs; use /NODEFAULTLIB:library
12155정성태2/25/202023023오류 유형: 594. Warning NU1701 - This package may not be fully compatible with your project
12154정성태2/25/202021559오류 유형: 593. warning LNK4070: /OUT:... directive in .EXP differs from output filename
12153정성태2/23/202027070.NET Framework: 898. Trampoline을 이용한 후킹의 한계파일 다운로드1
12152정성태2/23/202023230.NET Framework: 897. 실행 시에 메서드 가로채기 - CLR Injection: Runtime Method Replacer 개선 - 세 번째 이야기(Trampoline 후킹)파일 다운로드1
12151정성태2/22/202026296.NET Framework: 896. C# - Win32 API를 Trampoline 기법을 이용해 C# 메서드로 가로채는 방법 - 두 번째 이야기 (원본 함수 호출)파일 다운로드1
... 61  62  63  64  65  66  67  68  69  70  71  72  73  74  [75]  ...