포로 포털과 기본 Docker IP 범위의 문제로 인해 Docker가 172.17.0.0 대신 198.18.0.0 범위를 사용하도록하려고합니다. 이는 내가 사는 열차에서 사용되는 포로 포털과 충돌합니다.
다음은 워드 프로세서 , 내가 만들어 /etc/docker/daemon.json
, 그 안에 다음을 넣어 :
{
"bip":"198.18.0.0/16"
}
이것은 docker0에서 작동했지만 다른 네트워크에는 영향을 미치지 않은 것으로 보이며 docker compose를 사용하면 처음으로 만든 네트워크는 172.17.0.0이며 충돌이 다시 발생합니다.
모든 도커 네트워크 의 기본 서브넷을 변경하려면 어떻게해야합니까 (모든 작성 파일에서 사용자 정의 IP 범위를 명시하지 않아도 됨)?
답변
기본 범위를 재정의 할 수 있습니다.
$ docker -v
Docker version 18.06.0-ce, build 0ffa825
docker daemon의 구성 파일을 편집하거나 작성하십시오.
# nano /etc/docker/daemon.json
라인 추가 :
{
"default-address-pools":
[
{"base":"10.10.0.0/16","size":24}
]
}
dockerd를 다시 시작하십시오.
# service docker restart
결과를 확인하십시오.
$ docker network create foo
$ docker network inspect foo | grep Subnet
"Subnet": "10.10.1.0/24"
도커 작성에도 작동합니다. 자세한 정보는 여기 https://github.com/moby/moby/pull/29376 (병합)
답변
도 커가 네트워크 서브넷을 생성하는 장소는 세 곳입니다.
- 기본 브리지
- 사용자 생성 브리지 네트워크
- 스웜 모드 생성 오버레이 네트워크
(나는 그 다리 IP 믿는다 ( “다리”라고 함)의 기본 다리를 들어, BIP를 지정할 수 있는지가 호스트 IP가 아닌 네트워크 IP의 확인 )가있는 daemon.json
파일. 또한 사용자 생성 브리지 네트워크의 경우 선택할 서브넷 풀을 정의 할 수 있습니다 (사용자가 서브넷을 수동으로 지정하지 않은 경우). 이 두 가지 경우 /etc/docker/daemon.json
다음과 같습니다.
{
"bip": "10.200.0.1/24",
"default-address-pools":[
{"base":"10.201.0.0/16","size":24},
{"base":"10.202.0.0/16","size":24}
]
}
위의 각 주소 풀 설정은 해당 범위에서 할당 할 CIDR 범위와 서브넷 크기를 정의합니다. 위의 내용은 클래스 C 네트워크 (/ 24)로 할당 된 두 가지 클래스 B 범위를 정의합니다. 기본 주소 풀에는 18.06 이상이 필요합니다. 이 변경 사항을 적용하려면 docker 데몬을 다시로드해야합니다 ( systemctl reload docker
). 이 변경으로 인해 새로 생성 된 사용자 네트워크 만 수정되므로 컨테이너를 중지하고 잘못된 범위에서 기존 네트워크를 삭제해야합니다.
18.09에서 Docker는 스웜 모드 생성 오버레이 네트워크의 주소 범위를 지정하는 기능을 추가했습니다. 이것은 현재 떼를 만들 때만 가능하며 앞으로 docker swarm update
풀을 조정할 수 있도록 업데이트 될 것입니다 .
$ docker swarm init \
--default-addr-pool 10.202.0.0/16 \
--default-addr-pool 10.203.0.0/16 \
--default-addr-pool-mask-length 24
답변
기본 브리지 네트워크 구성 : “… 기본 브리지 네트워크 를 구성하려면 daemon.json에 옵션을 지정하십시오. 다음은 몇 가지 옵션이 지정된 daemon.json의 예입니다. 사용자 정의해야하는 설정 만 지정하십시오.…”
compose 사용 : 사용자 지정 네트워크 지정 : “… 기본 앱 네트워크를 사용하는 대신 최상위 네트워크 키를 사용하여 고유 한 네트워크를 지정할 수 있습니다.이를 통해 더 복잡한 토폴로지를 만들고 사용자 지정 네트워크 드라이버 및 옵션을 지정할 수 있습니다. Compose에서 관리하지 않는 외부에서 만든 네트워크에 서비스를 연결하는 데 사용합니다.… “
답변
조금 잔인 할 수도 있지만 sudo ifconfig docker0 down
사용하려는 Wi-Fi와 충돌하는 인터페이스를 종료 하기 위해 간단히 수행합니다 .