Mac 에서 Docker Machine 접속 방법

beygee·2020년 1월 10일
1
post-thumbnail

개요

Github Actions를 이용하여 Nodejs 서버를 EC2 환경에 무중단 배포하는 법을 익히고, 포스팅을 하려는 도중 불가피하게 도커를 사용해야 할 것 같아서 배우게 되었습니다.

그러는 도중 대부분 도커에 대한 설명 글/책은 리눅스 운영체제 베이스로 설명하고 있었고, 맥에서는 서버에 대한 접근이 약간 다르다는 것을 깨달아서 정리하여 포스팅하고자 합니다.

맥에서 도커 실행

맥에서 도커를 실행 시킬 때, 컨테이너들은 맥에 직접 올라가 실행되는 것이 아닙니다. 맥에서 도커 다운로드를 하면, VirtualBox 앱이 함께 깔리며, 그 안에 Linux로 가상환경이 설치됩니다. 해당 가상환경이 실행되고, 그 위에 컨테이너가 실행됩니다. 따라서 맥에서 간단하게 Nginx 같은 컨테이너를 올려 실행해볼 경우, localhost 주소로 접속이 안되는 것을 알 수 있습니다. 이는 Docker-machine 의 주소를 알아내어 접속하면 해결됩니다.

따라해보기

🚧 해당 예제는 이미 도커가 맥에 깔려있다고 가정하고 진행하겠습니다.

$ docker run -d --name hello-nginx -p 80:80 nginx
4728639bfe9f3945db17c69c24fd258cebd00f42008253cd24ea2a698dee4248

먼저 Nginx 컨테이너를 띄워 호스트 80포트에 연결시켜줍니다. 여기에서 호스트의 IP는 localhost가 아닙니다. 실제로 브라우저를 실행시켜 localhost에 접속하면 아무 화면이 뜨지 않을겁니다.

아까 말씀드린 대로, 컨테이너를 실행시키면 VirtualBox 내의 가상환경 내에서 도커가 실행되고 거기서 운영이 된다고 했었죠? 그러면 해당 가상환경의 IP를 알아봅시다.

$ docker-machine ip default
192.168.99.100

가상환경 내부 IP를 알아냈죠? 실제로 저 IP를 브라우저 주소창에 쓰면

성공적으로 Nginx 화면이 뜨신 것을 확인하실 수 있을 겁니다.

SSH로 가상환경 접속하기

추가적으로, VirtualBox 내의 가상환경에 SSH 원격접속을 하고 싶으시면 다음과 같이 하면 됩니다.

$ ssh docker@192.168.99.100
docker@192.168.99.100's password:
   ( '>')
  /) TC (\   Core is distributed with ABSOLUTELY NO WARRANTY.
 (/-_--_-\)           www.tinycorelinux.net
 docker@default:~$

사용자 이름은 docker이며, IP는 내부 IP입니다. 그리고 초기 비밀번호는 tcuser입니다. 그러면 실제로 원격 접속하실 수 있습니다! 😀

profile
Solidarite Co. CTO. Korea Univ Comp. Sci

0개의 댓글