相关疑难解决方法(0)

将静态IP分配给Docker容器

我现在尝试在启动Docker容器时分配静态IP 172.17.0.1.

我使用端口2122作为此容器的ssh端口,以便我让这个容器监听端口2122.

sudo docker run -i -t -p 2122:2122 ubuntu
Run Code Online (Sandbox Code Playgroud)

此命令将运行具有随机IP(如172.17.0.5)的Docker容器,但我需要为容器分配特定的IP.

以下shell脚本是我在高级网络设置中引用Docker文档的内容.

pid=$(sudo docker inspect -f '{{.State.Pid}}' <container_name> 2>/dev/null)
sudo rm -rf /var/run/netns/*
sudo ln -s /proc/$pid/ns/net /var/run/netns/$pid
sudo ip link add A type veth peer name B
sudo brctl addif docker0 A
sudo ip link set A up
sudo ip link set B netns $pid
sudo ip netns exec $pid ip link set eth0 down
sudo ip netns exec $pid ip link delete eth0
sudo ip netns exec …
Run Code Online (Sandbox Code Playgroud)

docker

172
推荐指数
5
解决办法
26万
查看次数

如何在Docker容器中设置静态IP地址?

我非常满意Docker默认给我的IP范围176.17.x.x,所以我不需要创建一个新桥,我只想给我的容器一个静态地址这个范围,所以我可以指向客户端浏览器直.我试过用

RUN echo "auto eth0" >> /etc/network/interfaces
RUN echo "iface eth0 inet static" >> /etc/network/interfaces
RUN echo "address 176.17.0.250" >> /etc/network/interfaces
RUN echo "netmask 255.255.0.0" >> /etc/network/interfaces
RUN ifdown eth0
RUN ifup eth0
Run Code Online (Sandbox Code Playgroud)

从Dockerfile,它正确填充interfaces文件,但接口本身没有改变.实际上,在容器中运行ifup eth0会出现此错误:

RTNETLINK答案:不允许操作无法启动eth0

linux networking docker

43
推荐指数
5
解决办法
8万
查看次数

检查TLS连接时出错:检查和/或重新生成证书时出错

重新启动Windows后,我无法连接到在Oracle Virtual Box中运行的docker机器.当我启动Docker QuickStart终端时,每件事看起来都很好,它就会出现,它会给我这样的信息:

docker is configured to use the default machine with IP 192.168.99.100
For help getting started, check out the docs at https://docs.docker.com
Run Code Online (Sandbox Code Playgroud)

但当我这样做时:

$ docker-machine ls
NAME      ACTIVE   DRIVER       STATE     URL   SWARM   DOCKER   ERRORS
default   -        virtualbox   Timeout
Run Code Online (Sandbox Code Playgroud)

和:

? docker images
An error occurred trying to connect: Get http://localhost:2375/v1.21/images/json: dial tcp 127.0.0.1:2375: ConnectEx tcp: No connection could be made because the target machine actively refused it.
Run Code Online (Sandbox Code Playgroud)

当我尝试重新初始化我的环境时,我得到:

? docker-machine env default
Error checking TLS connection: Error …
Run Code Online (Sandbox Code Playgroud)

docker docker-machine

27
推荐指数
4
解决办法
3万
查看次数

如何使用docker-machine和VirtualBox创建具有特定URL的docker机器?

我可以使用VirtualBox驱动程序创建一个Docker实例,但我无法弄清楚如何指定URL.

创建命令:

docker-machine create --driver virtualbox myBox
Run Code Online (Sandbox Code Playgroud)

docker-machine ls:

NAME      ACTIVE   DRIVER       STATE     URL                         SWARM
myBox     *        virtualbox   Running   tcp://192.168.99.100:2376   
Run Code Online (Sandbox Code Playgroud)

我希望URL成为特定的URL.如何强制Docker实例使用特定的URL(例如:192.168.99.113)?

详细信息: Mac 10.10.5使用Docker Toolbox

更新

我尝试使用该--virtualbox-hostonly-cidr命令设置docker机器的IP范围; 我指定了一个IP地址范围("192.168.99.113/32"),但创建的机器的IP为192.168.99.100,超出了我提供的范围.

是否可以设置具有特定IP地址的泊坞机?

containers virtualbox virtual-machine docker docker-machine

14
推荐指数
1
解决办法
7410
查看次数

在Windows上设置docker时出错

我试图在Windows上设置docker机器,这个问题让我烦恼了好几天.

我在Windows上下载并安装了DockerToolbox-1.9.1a,因此它附带了Virtual Box版本5.0.10.之后我运行此命令来创建我的虚拟机:

docker-machine create --driver virtualbox --engine-insecure-registry docker.pre-prod.ss.local:5000 --virtualbox-hostonly-cidr 192.168.99.100/24 mymachine

这是我得到的:

等待机器运行,这可能需要几分钟......机器正在运行,正在等待SSH可用...检测已创建实例的操作系统...检测供应商...供应创建的实例...将证书复制到本地计算机目录...将证书复制到远程计算机...在远程守护程序上设置Docker配置...警告>>>已为此计算机分配了IP地址,但Docker Machine无法成功访问它.

该机器的SSH应该仍然有效,但是连接到暴露的端口(例如Docker守护程序端口(通常为:2376))可能无法正常工作.

您可能需要手动添加路由,或使用其他相关的解决方法

这可能是由于VPN,代理或主机文件配置问题.

您还可能希望清除所有未使用的VirtualBox主机接口

机器创建成功.所以我运行了docker-machine env命令:

docker-machine env --shell = powershell mymachine | 调用,表达

我得到了:

运行连接样板时出错:错误检查和/或重新生成证书:主机"192.168.99.100:2376"有icates:拨打tcp 192.168.99.100:2376:connectex:没有连接目标机器主动拒绝它.您可以尝试使用"docker-machine regenerate-certs name"重新生成它们.请注意,这将触发Docker守护程序重启,这将停止运行容器.

运行docker版本返回

客户端:版本:1.9.1 API版本:1.21 Go版本:
go1.4.3 Git commit:a34a1d5内置:星期五11月20日17:56:04 UTC OS/Arch:windows/amd64尝试连接时出错:获取http: //localhost:2375/v1.21/version:可以拨打tcp连接,因为目标机器主动拒绝它.

有人可以帮助指出解决这个问题的方向吗?在Windows上设置docker真的很麻烦.非常感谢你.

windows powershell docker docker-machine

6
推荐指数
1
解决办法
1564
查看次数