- 목차 -
1. 링크
2. 링크 실습
3. 환경 변수
4. 환경 변수 실습
1. 링크
- 컨테이너는 IP를 동적으로 받아오기 때문에 항상 동일한 IP를 사용한다는 보장이 없음
- 서로 다른 두 개 이상의 컨테이너 통신에서 문제 발생
- 컨테이너 링크는 컨테이너의 IP가 변경되어도 통신이 유지되도록 하는 기능
- 컨테이너 내부의 /etc/hosts 파일에 기록
2. 링크 실습
2-1. alpine 컨테이너 a1 생성.
alpine 컨테이너 a2 생성. a1에 링크.
a2에서 a1 핑 연결 확인
2-2. a2 /etc/hosts에 a1의 IP와 컨테이너 ID 포함되어 있는 것 확인
2-3. 하지만 반대로 a1에서 a2로는 핑이 가지 않는다. /etc/hosts에 이름이 없기 때문.
2-4. a1에 접속
2-5. /etc/hosts에 직접 a2 정보를 넣어보자
2-6. a1에서 a2 핑 확인
2-7. 컨테이너 a1을 중지 후 다시 시작
2-8. a2에서 a1으로 핑은 가지만 a1에서 a2로 핑은 다시 가지 않는다
2-9. 컨테이너 a1을 지우고 생성할때부터 hosts에 a2 정보를 기입.
/etc/hosts에서 a2의 정보를 볼 수 있으며 당연히 a1에서 a2로 핑 연결 확인.
2-10. 이같은 경우엔 a1 컨테이너를 중지했다가 다시 실행해도 핑 연결 확인.
3. 환경 변수
- 컨테이너 내부 환경 변수 설정 가능
$ docker run -e [환경변수]
- MySQL 같은 경우 그냥 실행하면 바로 exited 상태
- 사용자 패스워드 등을 입력해야 하기 때문
4. 환경 변수 실습
4-1. 환경 변수 a=100 인상태로 컨테이너 생성. a=100 확인.
4-2. 환경 변수 없이 MySQL 컨테이너 생성. 바로 Exited 상태 확인
4-3. MySQL ROOT PASSWORD 환경 변수를 입력하여 MySQL 컨테이너 생성. 정상 작동 확인.
'IT > Docker' 카테고리의 다른 글
도커[Docker]_Commit, Import, Export, Save (0) | 2022.07.18 |
---|---|
도커[Docker]_Wordpress, MySQL, PHP (0) | 2022.07.14 |
도커[Docker]_Network (0) | 2022.07.14 |
도커[Docker]_Volume, Bind mount (0) | 2022.07.13 |
도커[Docker]_Copy, Haproxy (0) | 2022.07.13 |