container - 4

hyuckhoon.ko·2020년 9월 10일
0

What I learned in first year

목록 보기
109/146

host가 각 컨테이너
트래픽을 컨테이너에 포워딩하게 포트를 분리한다.
또한, 각 컨테이너를 쉽게 식별하고 관리가 용이하도록 --name 명령어를
사용하는 습관을 갖자.

ex) nginx should listen on 80:80
httpd should listen on 8080:80
mysql should listen on 3306:3306

이번 실습에서 nginx는 proxy 서버의 역할을 하게 된다.
아파치 서버 혹은 httpd 서버는 8080:80 포트다.




참고

  • mysql 컨테이너를 run할 때, -e 또는 -env 명령어를 추가한다.
    그러면 environment 환경변수를 해당 컨테이너에 전달한다.

  • docs.docker.com을 자주 참고할 것!

docker container run -d -p 3306:3306 --name db -e MYSQL_RANDOM_ROOT_PASSWORD=yes mysql



docker continaer logs db


아래와 같이 임시 비밀번호가 설정된 것을 확인할 수 있다.

2020-09-09 23:57:54+00:00 [Note][Entrypoint]: GENERATED ROOT PASSWORD: biozie1aedai9miekah1Lei9ziepii3d



이제 웹서버를 run 시켜보자.
참고로, -d (detach) 명령어를 추가해야 우리가 지정한 포트에 컨테이너가 연결된다.
docker container run -d --name webserver -p 8080:80 httpd


docker container run -d --name proxy -p 80:80 nginx





테스트를 해보자.

curl localhost


배웠던 명령어를 통해 컨테이너를 중지시켜보자. 그리고 삭제까지!

docker container stop db webserver proxy

docker container rm proxy webserver db





퀴즈




0개의 댓글