반응형
이번엔 MySQL 컨테이너(DB 컨테이너)와 PHP 컨테이너(AP 컨테이너)를 컨테이너 네트워크로 연결해 보겠다.
1. 컨테이너 네트워크 작성
2. MySQL 서버 기동
-e 옵션으로 환경 변수 MYSQL_ROOT_PASSWORD를 저장했다.
이러한 환경 변수를 사용해 컨테이너를 개발하면 이미지의 재사용성이 좋아진다.
3. 애플리케이션 컨테이너 개발
파일 구조는 다음과 같다
- php-example
- Dockerfile
- php
- index.php
php-example 디렉터리에서 컨테이너 이미지를 빌드한다.
정상적으로 빌드가 되었다면 docker images로 생성된 이미지를 확인할 수 있다.
4. 컨테이너 실행
docker run [옵션] 리포지터리명[:태그]로 빌드한 이미지를 컨테이너로 실행할 수 있다.
http://localhost:8080에 접속해보면 접속에 성공한것을 확인할 수 있다.
내용을 정리하면 데이터베이스는 MySQL의 공식 이미지를 사용했고 환경 변수로 사용자와 비밀번호를 설정하여 컨테이너를 기동했다.
그리고 데이터베이스에 접속하는 애플리케이션은 PHP 공식 이미지를 사용해서 개발했다.
동일한 컨테이너 네트워크를 사용해서 두 컨테이너를 연동했고, 포트 포워딩을 설정하여 호스트의 IP 주소로 애플리케이션을 공개했다.
컨테이너 네트워크는 컨테이너 간에 서로 통신할 수 있는 통로와ㄷ 같다.
쿠버네티스에서는 비슷한 역활을 수행하는 클러스터 네트워크가 있다.
반응형
'Docker & Kubernetes' 카테고리의 다른 글
환경 변수 API 구현 예시 (0) | 2021.11.26 |
---|---|
컨테이너 API (0) | 2021.11.26 |
컨테이너와 네트워크 (0) | 2021.11.26 |
Dockerfile 작성법 (0) | 2021.11.26 |
컨테이너 개발 (0) | 2021.11.26 |