먼저 Docker Quickstart Terminal로 접속한다.
그러면 VirtualBox에서 리눅스 VM이 올라가고 그 위에서 Docker가 사용 가능한 상태로 세팅 될 것이다.
최종적으로 나오는 화면은 아래 사진과 같다.
아마 이 화면은 VirtualBox에서 만든 리눅스 VM shell인 것 같다.
그러면 이제 nginx를 설치해 보자
docker run -d -p 80:80 -p 443:443 --name webserver nginx
-d는 백그라운드(데몬)로 돌리는 옵션, Docker 에서는 detached 모드 라고 표현한다.
- https://docs.docker.com/engine/reference/run/#/detached-vs-foreground
포트 설정은 -p hostPort:containerPort
- https://docs.docker.com/engine/reference/run/#/expose-incoming-ports)
위 명령어를 입력하면 container id가 출력되면서 container가 실행된다.
docker ps
- 현재 돌아가는 컨테이너들의 정보를 보여준다. 실행되지 않는 상태의 컨테이너들은 (-a) flag를 붙여주면 확인할 수 있다.
지금까지 우리는 윈도우에서 VirtualBox를 가지고 docker engine이 돌아가는 리눅스OS VM을 띄운 후 docker engine 위에서 nginx 웹 서버를 Docker container형식으로 실행시켰다.
그럼 이제 윈도우로 돌아와서 웹 브라우저를 실행 한 다음 url에 127.0.0.1을 넣어서 nginx로 접속해보자.
당연히 접속되지 않을 것이다. VirtualBox에 포트포워딩 설정을 해주어야 한다.
설정 - 네트워크 - 고급 - 포트포워딩 으로 들어가서 포워딩 규칙을 추가해준다.
http용 포트 80, https용 포트 443 두개를 추가해 준다.
그 다음 윈도우에서 웹 브라우저 url에 127.0.0.1을 입력하면 nginx 초기화면이 보일 것이다.
하지만 https://127.0.0.1으로 접속 했을 때는 접속이 안되는데 이것은 nginx쪽을 세팅 해 주어야 하는 문제이다.
docker exec -it webserver /bin/bash
명령어를 통해 컨테이너로 접속하면 마치 또 다른 리눅스에 접속한 것 처럼 보인다.
(첫 번째 인자로 container name 대신 container id를 써주어도 된다)
그 다음에는 nginx http 설정을 해주면 되는데 ssl 인증서, 키 같은 것이 필요하므로 여기에서는 다루지 않는 걸로 하겠다.
'Docker' 카테고리의 다른 글
/bin/sh: 1: Syntax error: "(" unexpected (0) | 2017.08.19 |
---|---|
docker attach vs exec (3) | 2017.01.04 |
Docker Machine ssh 접속 (0) | 2016.12.25 |
Docker - Container 접속하기 (0) | 2016.12.24 |
Docker - Windows에서 Docker 설치하기(Docker Toolbox) (2) | 2016.12.22 |