해결된 질문
24.02.23 13:25 작성
·
219
1
안녕하세요,
수업을 듣고 있는 수강생입니다.
컨테이너 학습 하면서, 의문점이 생겨 질의드립니다.
HostPC에서 exe를 cp하여 컨테이너로 넣은 후, 해당 exe 파일을 컨테이너에서 실행시킬 수 있나요?
찾아보니 이미지는 마이크로소프트에서 받아오면 되더라구요.
환경은 HostPC는 window이고, 컨테이너도 window로 세팅하고 싶습니다.
만약 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. 27. 22:49
이중화 같은 경우는 말씀해주신대로 docker compose로도 구성하실 수 있습니다!
다만 이중화의 핵심 목적이 서버의 가용성을 확보하는 것이기 때문에, 실제로 컨테이너가 문제가 생겨서 종료되었을 때 바로 재실행할 수 있어야 합니다. 그리고 버전 업그레이도 무중단으로 배포가 되어야 하는데요.
이런 부분은 docker compose 만으로는 해결하기가 어렵고, Kubernetes나 Docker Swarm 같은 오케스트레이션 도구를 활용하셔야 할 것으로 보입니다.
단순히 개발 서버나 학습용으로 구현하신다면 docker compose도 가능할 것 같습니다 😃
2024. 02. 25. 22:33
우선, 답변 감사합니다!
ChatGPT, 쌤 의견 등을 수용해서 적용하였는데, powershell 문법이 잘못되었는지 copy 명령어에서 오류가 발생하네요 ㅠ 이건 제 공부영역인 것 같아 더 찾아보려고 합니다!
복수의 컨테이너 실행시키려는 이유는 서버 이중화 때문입니다.
버츄얼박스나 Hyper-V에선 윈도우 이미지를 가져올 수 있었는데, 그게 컨테이너에서도 가능한지가 궁금해서 질문 남겼었습니다.
아니면 윈도우 환경의 이중화에 대해 의견 주시면 감사하겠습니다!!