Docker

Docker - Docker Toolbox로 윈도우에서 nginx 세팅해보기

Superkill 2016. 12. 23. 02:32
반응형

먼저 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