Linux 关于docker守护进程在自定义CIDR块中生成容器
我有一个用例,希望在不同的CIDR块中生成docker容器。此时,我已经创建了自己的自定义图像。现在,我创建了一个新桥,如下所示:-Linux 关于docker守护进程在自定义CIDR块中生成容器,linux,docker,lxc,Linux,Docker,Lxc,我有一个用例,希望在不同的CIDR块中生成docker容器。此时,我已经创建了自己的自定义图像。现在,我创建了一个新桥,如下所示:- service docker stop ip link add br0 type bridge ip addr add MYCIDRBLOCK dev br0 ip link set br0 up docker -d -b br0 到目前为止,守护进程提供了以下输出:- INFO[0000] Listening for HTTP on unix (/var/ru
service docker stop
ip link add br0 type bridge
ip addr add MYCIDRBLOCK dev br0
ip link set br0 up
docker -d -b br0
到目前为止,守护进程提供了以下输出:-
INFO[0000] Listening for HTTP on unix (/var/run/docker.sock)
INFO[0000] [graphdriver] using prior storage driver "devicemapper"
WARN[0000] Running modprobe bridge nf_nat failed with message: , error: exit status 1
INFO[0000] Loading containers: start.
........................
INFO[0000] Loading containers: done.
INFO[0000] Daemon has completed initialization
INFO[0000] Docker daemon commit=0baf609 execdriver=native-0.2 graphdriver=devicemapper version=1.7.0
现在,我尝试在所有端口都暴露的情况下启动docker容器:-
docker run -d -i -t -expose 1-59999 arunav/myimage /bin/bash
在客户端,我得到:-
Error response from daemon: Cannot start container 1d29cf0d8057fd62bae9e45e5a91968b675a6c43e115f7912dd00abb05d90dd9: invalid argument
在服务器端,我得到以下信息:-
ERRO[0042] leaving endpoint failed: a container has already joined the endpoint
ERRO[0042] Handler for POST /containers/{name:.*}/start returned error: Cannot start container 1d29cf0d8057fd62bae9e45e5a91968b675a6c43e115f7912dd00abb05d90dd9: invalid argument
ERRO[0042] HTTP Error err=Cannot start container 1d29cf0d8057fd62bae9e45e5a91968b675a6c43e115f7912dd00abb05d90dd9: invalid argument statusCode=500
所以一开始我认为以前的某个容器占用了某个端点。因此,我运行此命令以清除容器转储:-
docker ps -a -q | xargs -n 1 -I {} docker rm {}
我不知道那会是什么问题。有人能帮忙吗?你为什么需要增加一个额外的桥接器?您是否尝试在
--bip
arg中使用带有显式CIDR的默认桥接器
--bip=CIDR-使用标准CIDR表示法(如192.168.1.5/24)为docker0网桥提供特定的IP地址和网络掩码
(来自)