서비스를 컨테이너화(Containerize) 할 때 여러 개의 애플리케이션을 한 컨테이너에 설치할 수도 있지만,
각 컨테이너에 애플리케이션을 하나만 동작시키는 것이 권장된다.
👉🏻 한 컨테이너에 프로세스 하나만 실행하는 것이 도커의 철학이다!
// 데이터베이스 컨테이너 생성
docker run -d \
--name wordpressdb \
-e MYSQL_ROOT_PASSWORD=password \
-e MYSQL_DATABASE=wordpress \
mysql:5.7
// 워드프레스 웹 서버 컨테이너 생성
docker run -d \
-e WORDPRESS_DB_HOST=mysql \
-e WORDPRESS_DB_USER=root \
-e WORDPRESS_DB_PASSWORD=password \
--name wordpress \
--link wordpressdb:mysql \
-p 80 \
wordpress
-i -t
는 컨테이너 내부로 진입하도록 attach 가능한 상태로 설정하는 옵션echo ${ENVIRONMENT_NAME}
--link
에 입력된 컨테이너가 실행 중이지 않거나 존재하지 않는다면 --link
를 적용한 컨테이너 또한 실행할 수 없다.--link
옵션은 deprecated된 옵션으로, 도커 브리지 네트워크를 사용하는 것을 권장한다// wordpressdb 컨테이너를 mysql이라는 이름으로 설정한다.
--link wordpressdb:mysql
👉🏻 이렇게 설정하면, 컨테이너의 IP를 몰라도 mysql이라는 호스트명으로 접근할 수 있다.