1. 실습준비

그동안의 실습 내용들 모두 정리

nginx, httpd 컨테이너, 이미지 모두 지운 다음 lecture/ex03디렉토리를 생성한다.

 

2. 파일 생성

ex03 디렉토리 안에서 아래와 같이 디렉토리와 Dockerfile을 생성해준다.

mkdir conf
mkdir webapp
touch Dockerfile

 

3. nginx컨테이너 실행

docker run --name some-nginx -d -p 8000:80 nginx

 

4. docker inspect

docker inspect [CONTINAER ID]

nginx의 컨테이너 ID를 입력해서 nginx 컨테이너를 분석해보자.

일단 docker ps로 방금 전에 실행시킨 nginx를 보면 COMMAND가 /docker-entroypoint... 인걸 볼 수 있다.

 

좀 더 자세히 보기 위해서 docker inspect를 사용해서 봐보자. 컨테이너 내부에서 해당 shell 파일을 실행시켜 주는 것 같다.

 

어떤 스크립트인지 컨테이너 내부에서 해당 파일을 찾아보자.

docker-entorypoint.sh는 / 에서 바로 찾아볼 수 있었다.

docker exec -it 32b bash

 

네트워크 정보

컨테이너의 네트워크 정보

여기서 볼건 IPAddress와 Gateway인데 IPAddress는 나중에 다른 컨테이너와 통신이 필요할 때 컨테이너 끼리 내부적으로 데이터를 주고받을 때 필요함. (Spring ↔ MySQL 등등) 근데 아이피 보다는 --name으로 다른 컨테이너를 식별하는게 더 편하다고 하심.

Gateway는 HOST와 연결된 통로라고 생각하면된다.

 

주의 

Dockerfile에 쓰는 EXPOSE 80 같은 명령어는

80포트를 여는 명령어가 아니라 80포트가 열려있음! 이라고 알려주는 표시일 뿐이다.

+ Recent posts