现在,我正在尝试运行docker容器,并希望为该容器设置ip静态。我到目前为止所做的事:
""若要说明IPAddress未设置,请在下面查找码头检查的详细信息:
"NetworkSettings": { "Bridge": "", "SandboxID": "cc37c6777a8f65268ab088bc6587f463aee7c7878d1fa6045229e4c6ca9b8055", "HairpinMode": false, "LinkLocalIPv6Address": "", "LinkLocalIPv6PrefixLen": 0, "Ports": { "3306/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "3306" } ] }, "SandboxKey": "/var/run/docker/netns/cc37c6777a8f", "SecondaryIPAddresses": null, "SecondaryIPv6Addresses": null, "EndpointID": "", "Gateway": "", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "IPAddress": "", //HERE IPAddress that i want to set "IPPrefixLen": 0, "IPv6Gateway": "", "MacAddress": "", "Networks": { "my-netto": { "IPAMConfig": { "IPv4Address": "172.20.0.3" }, "Links": null, "Aliases": [ "5b909fdca063" ], "NetworkID": "6697e2deabb509d0f4a207674909d19c552bb8b77d1c62bdc94b6979b1844f10", "EndpointID": "fd902fcf7351a777b90c7eed4c27a7255fa84aa9f705db84db226dd42c554faf", "Gateway": "172.20.0.1", "IPAddress": "172.20.0.3", "IPPrefixLen": 16, "IPv6Gateway": "", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "MacAddress": "02:42:ac:14:00:03", "DriverOpts": null } } } } ]
在IPAddress部分中有设置NetworkSettings的命令吗?
任何帮助都会很感激的。
提前谢谢。
发布于 2018-05-14 05:22:57
首先必须使用以下命令创建网络
docker network create --subnet=172.28.0.0/16 --ip-range=172.28.5.0/24 --gateway=172.28.5.254 name-of-network而不是使用以下命令启动容器:
docker run -it --name $container_name -d -h "$host_name" -p $host_port:8080 --ip="172.20.5.2" --mac-address="12:34:56:78:9a:bd" --network="name-of-network" $image-name只需更改--ip和--mac-address即可使用上述命令启动多个容器
希望这能帮上忙。
谢谢!
发布于 2018-05-14 08:56:38
由于在容器中不允许编辑IPAddress,所以我发现使用--链接进行编辑,而且它的工作原理就像一种魅力。
在我的例子中,我希望部署一个mysql容器并部署另一个Node.js应用程序。在几篇文章之后,我发现这个docker mysql文档正在准备一些案例,如果您想使用mysql连接到另一个应用程序的话。
因此,当我运行mysql应用程序时,我会在run命令中添加mysql,在数据库配置中将mysql作为主机添加。
希望这能帮到你们这些有同样问题的家伙。
https://stackoverflow.com/questions/50322873
复制相似问题