회사에서 nginx 설정을 볼 일이 생겼는데 직접 설정 해본 경험이 없어서 설정파일이 어디 있는지도 몰랐다. (..)
집에 있는 맥북에 nginx를 설치해서 설정을 이것 저것 해 보면서 공부를 하고 싶었으나, 맥에 직접 설치하면 괜히 지저분해 질 것 같아서 Docker를 이용해 설치를 해보았다.
도커 허브(https://hub.docker.com)에 가면 도커에서 제공하는 여러 이미지를 볼 수 있다. nginx 공식 이미지도 있긴한데, 나는 직접 설치하는 것 까지 해보고 싶어서 ubuntu 이미지를 받았다.
커맨드에서 아래 명령어를 입력해 ubuntu 이미지를 받는다.
➜ ~ docker pull ubuntu
다운 받은 이미지 목록을 아래 명령어로 확인한다.
➜ ~ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 72300a873c2c 3 weeks ago 64.2MB
일단 도커 ubnutu 이미지는 잘 다운받아졌다.😃
다음은 도커 이미지로부터 컨테이너를 생성하고 실행 할 차례이다.
도커 이미지를 컨테이너로 실행하는 명령어는 run
이다.
➜ ~ docker run ubuntu
명령은 잘 실행된 것 같은데.. 뭔가 반응이 없다. 컨테이너가 실행중인지 확인하기 위해 ps
명령을 사용한다.
➜ ~ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
음.. 실행중인 컨테이너가 보이질 않는다. -a
옵션을 추가해서 종료된 컨테이너가 있는지 확인한다.
➜ ~ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fc8c174f1eae ubuntu "/bin/bash" 5 seconds ago Exited (0) 4 seconds ago pensive_bouman
컨테이너가 실행되고 나서 /bin/bash
명령을 실행한 뒤 종료 되었다. 찾아보니 -i
와 -t
옵션을 주어야 bash를 사용할 수 있었다. 추가로 웹서버 접속을 위해 호스트 포트와 컨테이너 포트를 바인딩 해주는 -p
옵션도 사용하여 아래처럼 실행하였다.
➜ ~ docker run -it -p 80:80 ubuntu
root@515457d1c28f:/#
컨테이너가 실행되고 ubuntu의 bash를 사용할 수 있게 되었다!😁
우분투에서 nginx를 설치하기 위해 패키지 관리자인 apt-get
명령을 사용한다.
root@515457d1c28f:~# apt-get update
root@515457d1c28f:~# apt-get install nginx
잘 설치 되었는지 확인한다.
root@515457d1c28f:~# nginx -v
nginx version: nginx/1.14.0 (Ubuntu)
nginx service를 실행한다.
root@515457d1c28f:~# service nginx start
* Starting nginx nginx
nginx가 잘 실행 된 것 같다. 컨테이너 외부(호스트)에서 웹 브라우저를 통해 http://127.0.0.1로 접속했을 때 아래 화면이 보이면 성공이다.
이제 설정 파일 (/etc/nginx/nginx.conf
)을 이리저리 바꿔보면서 테스트를 해보고, 필요 없어지면 도커 컨테이너와 이미지를 삭제하면 된다.