(Docker) Docker 컨테이너 연결하기
Docker로 이미지를 생성할 때, 웹 서버, DB 등 필요한 프로그램을 모두 설치할 수도 있지만 보통 프로그램별로 이미지를 생성합니다.
이렇게 프로그램 별로 이미지를 생성하고, 컨테이너를 생성했을 때 옆에 있는 컨테이너에 접속할 일이 많습니다.
예를 들면, 웹 서버는 DB에 연결하여 데이터를 주고 받아야 합니다.
web 컨테이너 (Ngingx) ---------> db컨테이너 (mongodb(db:27017))
Docker 컨테이너끼리 연결할 때는 docker run 명령에서 --link옵션을 사용한다.
먼저 DB이미지를 컨테이너로 실행합니다.
이번예제는 MongoDB를 사용하는 예지이다.
$ sudo docker run --name mongodb -d mongo
db컨테이너 이름은 mongodb이다.
$ sudo docker run --name web -d -p 80:80 --link mongodb:mongodb nginx
web 컨테이너를 생성하면서 db 컨테이너를 mongodb 컨테이너와 연결합니다.
docker run 명령어에서 연결 옵션은 --link <컨테이너이름>: <별칭> 형식입니다.
이렇게 프로그램 별로 이미지를 생성하고, 컨테이너를 생성했을 때 옆에 있는 컨테이너에 접속할 일이 많습니다.
예를 들면, 웹 서버는 DB에 연결하여 데이터를 주고 받아야 합니다.
web 컨테이너 (Ngingx) ---------> db컨테이너 (mongodb(db:27017))
Docker 컨테이너끼리 연결할 때는 docker run 명령에서 --link옵션을 사용한다.
먼저 DB이미지를 컨테이너로 실행합니다.
이번예제는 MongoDB를 사용하는 예지이다.
$ sudo docker run --name mongodb -d mongo
db컨테이너 이름은 mongodb이다.
$ sudo docker run --name web -d -p 80:80 --link mongodb:mongodb nginx
web 컨테이너를 생성하면서 db 컨테이너를 mongodb 컨테이너와 연결합니다.
docker run 명령어에서 연결 옵션은 --link <컨테이너이름>: <별칭> 형식입니다.
* 별칭과 IP 주소
docker inspect 명령으로 web 컨테이너의 세부 정보에서 hosts 파일 경로를 구한 뒤 cat 명령으로 내용을 살펴 볼 수 있다.
$ cat 'sudo docker inspect -f "{{.HostsPath}}" web'
댓글
댓글 쓰기