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

buo642g님의 프로필 이미지
buo642g

작성한 질문수

Jenkins를 이용한 CI/CD Pipeline 구축

SSH, 도커 엔진, 도커 컨테이너

해결된 질문

작성

·

381

·

수정됨

1

안녕하세요.
SSH, 도커 등에 대한 이해가 명확하지 않은 상태에서
강의 초반부 진행중 이해가 잘 되지 않는 점들에 대한 질문입니다.

 

1) 아래 도커 컨테이너는 구체적으로 어떤 상태인가요?

예를들어
-SSH 서버와 도커 엔진이 존재하는 상태
-SSH 서버와 도커 컨테이너가 존재하는 상태
-SSH 서버에 (내부에) 도커 엔진이 존재하는 상태
-SSH 서버에 (내부에) 도커 컨테이너가 존재하는 상태
...

2) Ansible 이 포함된 컨테이너도 1) 과 같은 구조인가요?

3) /Ansible, /Docker 이미지는 SSH 서버를 설치하는 과정을 생략하기 위해 제공한것인가요?
3-a) 맞다면 SSH 서버를 구축하는 과정이 복잡하기 때문인가요?

답변 1

1

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요, 이도원입니다,

질문하신 내용에 답변 드립니다.

1) 첨부하신 이미지의 환경은 Docker와 SSH 서버가 설치되어 있는 VM이라고 보시면 됩니다. 다만, Oracle VirtualBox과 같은 가상화 관리 도구를 Apple MacOS M1(Windows와 MacOS Intel 버전은 상관없습니다) 환경에서는 사용할 수 없어서, VM 환경을 구성하기라 쉽지 않습니다. 따라서, 메인 호스트(Windows나 MacOS가 설치되어 있는 PC)에 Docker를 설치하고 Docker 컨테이너 형태로 위에서 말씀드리린 Docker+SSH 를 설치했습니다 따라서 아래 보기 중 SSH+Docker Engine이 Docker Container 형태로 Host PC의 도커 엔진 위에서 기동된 거라 보시면 될 것 같습니다.

-SSH 서버와 도커 엔진이 존재하는 상태 -> 이쪽에 제일 가까움. 이 형태를 Docker 컨테이너로 실행
-SSH 서버와 도커 컨테이너가 존재하는 상태
-SSH 서버에 (내부에) 도커 엔진이 존재하는 상태
-SSH 서버에 (내부에) 도커 컨테이너가 존재하는 상태

2) 네 맞습니다. 다만 1)의 이미지에 추가해서 Ansible 서비스가 설치되어 있습니다.

3) /Ansible, /Docker 이미지 모두 SSH 서버를 사용할 수 있는 환경에 별도의 VM이나 물리적인 서버에 설치해 놓으셔도 됩니다. 후반부에는 AWS EC2 환경 설치하여 사용하는 내용도 있습니다.
3-a) SSH 서버를 설치하는 건 여러 방법이 있습니다. Windows나 MacOS와 같은 Host PC에 설치하여 사용할 수 있는 다양한 방법도 있고, Docker나 외부에 있는 사용을 사용할 수도 있겠지만, 다만, 수강생분들이 하나의 통일 된 환경이라면 상관없는데, Windows, MacOS Intel, MacOS M1 등 여러 환경입니다. 특히 MacOS M1은 Docker에서 사용되는 기본 아키텍처가 기존 amd64에서 arm으로 변경되어 이미지를 공유해서 사용할 수 없는경우가 많습니다. 따라서 강의에서는 각 운영체제 별로 도커 이미지를 제공하고 있는데, 이또한 몇몇 분들은 안된다고 하시는 분들도 있습니다. 온라인 강의 특성 상 모든 환경에 대해 확인해 드릴 수 없다는 점은 죄송스럽게 생각하고 있습니다. 다만, 가능하면 문제의 환경을 저희쪽에서도 구성하여 해결방안을 찾아 공유하고는 있습니다. 다시 질문으로 돌아가서, SSH 서버를 설치해도 Jenkins에서 사용하기 위해 별도의 계정 생성이나, 권한 등의 문제도 같이 해결해야 하는 경우도 있습니다. 이러한 부분은 강의의 주제와 조금 벗어 낫다고 생각되어 SSH가 설치되어 있는 환경을 별도의 VM또는 배포(및 운영) 대상 PC라 생각하고 강의를 진행하고 있습니다.

추가 질문사항 있으시면 다시 글 남겨 주세요.

감사합니다.

buo642g님의 프로필 이미지
buo642g

작성한 질문수

질문하기