在MacOS 12上,使用Docker20.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.还有别的办法吗?
发布于 2021-11-13 16:43:40
为了绑定到ip,除了0.0.0.0之外,您需要在系统中有一个具有所需ip的接口。例如,观察码头未能绑定到一个不存在的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.现在,我为现有的接口lo0创建了一个别名:
sudo ifconfig lo0 alias 127.0.0.2 netmask 0xff000000再试一次:
docker run -p 127.0.0.2:80:80 -d nginx
05223ecb6ae99a25b7423f014b9b95422c621717705ce1c255bea04072c45263docker 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_bardeenhttps://stackoverflow.com/questions/69956055
复制相似问题