인프런 커뮤니티 질문&답변

치현님의 프로필 이미지

작성한 질문수

개발자를 위한 쉬운 도커

컨테이너 .exe 실행파일 사용 문의

해결된 질문

24.02.23 13:25 작성

·

200

1

안녕하세요,

수업을 듣고 있는 수강생입니다.

 

컨테이너 학습 하면서, 의문점이 생겨 질의드립니다.

 

  1. HostPC에서 exe를 cp하여 컨테이너로 넣은 후, 해당 exe 파일을 컨테이너에서 실행시킬 수 있나요?

 

찾아보니 이미지는 마이크로소프트에서 받아오면 되더라구요.

 

환경은 HostPC는 window이고, 컨테이너도 window로 세팅하고 싶습니다.

 

  1. 만약 exe를 실행시킬 수 있다면 복수의 컨테이너를 실행시키고 싶은데 이를 docker compose로 구성하는게 효율적일까요?

이론만으론 가능 할 것 같아 실습해보던 중 cp부터 에러가 발생해 가능성 여부를 알고싶습니다.

 

감사합니다.

답변 1

0

데브위키님의 프로필 이미지
데브위키
지식공유자

2024. 02. 24. 15:27

치현님 안녕하세요. 데브위키입니다.

 

윈도우 컨테이너는 저도 아직 시도해 본 적이 없는데, 신선한 도전인 것 같습니다!

 

먼저 폴더를 하나 생성하시고, exe파일을 복사한뒤 아래처럼 도커파일을 작성하신 후에 빌드를 한번 해보시겠어요?

# Windows Server Core 이미지를 기반으로 합니다.
FROM mcr.microsoft.com/windows/servercore:ltsc2019

# 작업 디렉토리를 설정합니다.
WORKDIR /app

# 현재 디렉토리에 있는 .exe 파일을 컨테이너의 작업 디렉토리로 복사합니다.
COPY ./app.exe /app/

# 컨테이너가 시작될 때 실행할 명령어를 설정합니다. 여기서는 복사한 .exe 파일을 실행합니다.
CMD ["app.exe"]

 

docker build -t app .

아마 한 번에 실행되지는 않을 것 같지만, 에러가 뜰 경우 화면을 캡처해서 보내주시면 같이 해결해나갈 수 있을 것 같습니다

 

복수의 컨테이너를 실행하시려는 이유는 이중화 때문이신가요?

치현님의 프로필 이미지
치현
질문자

2024. 02. 25. 22:33

우선, 답변 감사합니다!

ChatGPT, 쌤 의견 등을 수용해서 적용하였는데, powershell 문법이 잘못되었는지 copy 명령어에서 오류가 발생하네요 ㅠ 이건 제 공부영역인 것 같아 더 찾아보려고 합니다!

복수의 컨테이너 실행시키려는 이유는 서버 이중화 때문입니다.

버츄얼박스나 Hyper-V에선 윈도우 이미지를 가져올 수 있었는데, 그게 컨테이너에서도 가능한지가 궁금해서 질문 남겼었습니다.

아니면 윈도우 환경의 이중화에 대해 의견 주시면 감사하겠습니다!!

데브위키님의 프로필 이미지
데브위키
지식공유자

2024. 02. 27. 22:49

이중화 같은 경우는 말씀해주신대로 docker compose로도 구성하실 수 있습니다!

다만 이중화의 핵심 목적이 서버의 가용성을 확보하는 것이기 때문에, 실제로 컨테이너가 문제가 생겨서 종료되었을 때 바로 재실행할 수 있어야 합니다. 그리고 버전 업그레이도 무중단으로 배포가 되어야 하는데요.

이런 부분은 docker compose 만으로는 해결하기가 어렵고, Kubernetes나 Docker Swarm 같은 오케스트레이션 도구를 활용하셔야 할 것으로 보입니다.

단순히 개발 서버나 학습용으로 구현하신다면 docker compose도 가능할 것 같습니다 😃

치현님의 프로필 이미지

작성한 질문수

질문하기