문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 다음 판 양쪽 다음 판 | ||
docker:docker_compose [2022/03/17 15:18] kwon37xi [docker-compose 에서 network 생성 불가시] |
docker:docker_compose [2022/03/18 10:44] kwon37xi |
||
---|---|---|---|
줄 21: | 줄 21: | ||
===== docker-compose 에서 network 생성 불가시 ===== | ===== docker-compose 에서 network 생성 불가시 ===== | ||
* 특히 VPN 에 접속한 상태에서 발생하는 것으로 보임. | * 특히 VPN 에 접속한 상태에서 발생하는 것으로 보임. | ||
+ | * [[https:// | ||
+ | * see [[docker: | ||
* 전제: 내가 이미 docker 에 network 를 직접 생성해둔 상태에서 오류 발생< | * 전제: 내가 이미 docker 에 network 를 직접 생성해둔 상태에서 오류 발생< | ||
Creating network " | Creating network " | ||
ERROR: could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the network | ERROR: could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the network | ||
</ | </ | ||
- | * 이 경우 이미 존재하는 network 를 '' | + | * **하지 말 것** : 이 경우 이미 존재하는 network 를 '' |
services: | services: | ||
| | ||
| | ||
</ | </ | ||
+ | * '' | ||
+ | * docker-compose user defined bridge 일 때만 이름 기반 lookup이 작동한다. | ||
+ | * 더 좋은 해결책 : IP 대역 충돌이 일어나지 않는 subnet 을 지정한 network 를 생성하고 '' | ||
+ | <code yml> | ||
+ | networks: | ||
+ | default: | ||
+ | driver: bridge | ||
+ | ipam: | ||
+ | config: | ||
+ | - subnet: ${MY_SUBNET: | ||
+ | # .env 파일이나 환경 변수로 MY_SUBNET 값을 강제 지정가능함. | ||
+ | # 만약 network 이름이 default 가 아니라면, | ||
+ | services: | ||
+ | myservice: | ||
+ | networks: | ||
+ | - mynetwork | ||
+ | networks: | ||
+ | mynetwork: | ||
+ | driver: bridge | ||
+ | ipam: | ||
+ | config: | ||
+ | - subnet: ${MY_SUBNET: | ||
+ | </ | ||
+ | * [[https:// | ||
===== .env ===== | ===== .env ===== | ||
* [[https:// | * [[https:// | ||
+ | * [[https:// | ||
* 환경 변수를 지정할 수 있다. | * 환경 변수를 지정할 수 있다. | ||
* '' | * '' | ||
* 원하는 환경변수 파일을 명시적으로 적용하려면 '' | * 원하는 환경변수 파일을 명시적으로 적용하려면 '' | ||
+ | * 특정 환경 변수만 변경하고자 한다면 Linux 에서 보편적으로 하는 방식으로 한다. | ||
+ | <code sh> | ||
+ | MY_ENV_VAR=xxx docker compose up -d | ||
+ | |||
+ | # 혹은 | ||
+ | export MY_ENV_VAR=xxx | ||
+ | docker compose up -d | ||
+ | </ | ||
+ | * '' | ||
+ | <code yml> | ||
+ | servicename: | ||
+ | environment: | ||
+ | - MY_ENV_VAR=xxx # 명시적 값 설정 | ||
+ | - ANOTHER_ENV_VAR # 이 값은 외부 설정값이 그대로 container 로 주입됨. | ||
+ | env_file: | ||
+ | - web-variables.env # 환경변수 파일 내의 환경변수들이 전달됨. | ||
+ | </ | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | ===== Multiple docker-compose.yml ===== | ||
+ | * 기본적으로 '' | ||
+ | * 따라서 개발자가 자기만의 환경이 필요할 때는 '' | ||
+ | * [[https:// | ||
===== 참조 ===== | ===== 참조 ===== |