gpt4 book ai didi

docker - 是否可以在 MacOS 上绑定(bind) 127.0.0.1 以外的另一个 IP?

转载 作者:行者123 更新时间:2023-12-05 02:37:29 24 4
gpt4 key购买 nike

在 MacOS 12 上,使用 Docker 20.10,我无法在另一个 IP 上启动容器:

% docker run -p 127.123.2.13:80:80 -d nginx
a9216ae29940f7357b9b4826ecddf041f1805c9ee48ba1336361277fc0dcb524
docker: Error response from daemon: Ports are not available: listen tcp 127.0.17.1:80: bind: can't assign requested address.

还有其他办法吗?

最佳答案

为了绑定(bind)到除 0.0.0.0 之外的 ip,您需要在您的系统中有一个具有所需 ip 的接口(interface)。例如,watch docker 无法绑定(bind)到一个不存在的 ip 127.0.0.2:

docker run -p 127.0.0.2:80:80 -d nginx
cc79b1b60c9f5e245b326bbfcc17d4a1f1abe6fad6fd12f9677b66bbee972a12
docker: Error response from daemon: Ports are not available: listen tcp 127.0.0.2:80: bind: can't assign requested address.

现在我为我现有的接口(interface) lo0 创建一个别名:

sudo ifconfig lo0 alias 127.0.0.2 netmask 0xff000000

再试一次:

docker run -p 127.0.0.2:80:80 -d nginx
05223ecb6ae99a25b7423f014b9b95422c621717705ce1c255bea04072c45263
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cc79b1b60c9f nginx "/docker-entrypoint.…" 2 minutes ago Created hardcore_haslett
05223ecb6ae9 nginx "/docker-entrypoint.…" 2 minutes ago Up 2 minutes 127.0.0.2:80->80/tcp pensive_bardeen

关于docker - 是否可以在 MacOS 上绑定(bind) 127.0.0.1 以外的另一个 IP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69956055/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com