如何将容器上的端口映射到主机?
How do I map a port on a container to the host?
我正在尝试 运行 由以下 Dockerfile 描述的容器:
FROM node:11.4.0
RUN npm install -g sh
RUN npm install -g json-server
WORKDIR /data
VOLUME /data
COPY db.json /data
CMD json-server --watch db.json --port 3001
并通过运行ning指定监听端口:
docker run -it -p 3001:3001 abelalejandro/json-server:final
容器似乎 运行 正常,json-服务器告诉我它正在为我在端口 3001 上的请求提供服务,但我在浏览时无法获得任何乐趣 http://localhost:3001
我是否在 publishing/exposing 端口上遗漏了什么?
它绑定到 localhost
而不是 0.0.0.0
(任何主机)。
您可以通过设置更改它:
CMD json-server --watch db.json --host 0.0.0.0 --port 3001
我假设您正在使用 https://github.com/typicode/json-server。
我正在尝试 运行 由以下 Dockerfile 描述的容器:
FROM node:11.4.0
RUN npm install -g sh
RUN npm install -g json-server
WORKDIR /data
VOLUME /data
COPY db.json /data
CMD json-server --watch db.json --port 3001
并通过运行ning指定监听端口:
docker run -it -p 3001:3001 abelalejandro/json-server:final
容器似乎 运行 正常,json-服务器告诉我它正在为我在端口 3001 上的请求提供服务,但我在浏览时无法获得任何乐趣 http://localhost:3001
我是否在 publishing/exposing 端口上遗漏了什么?
它绑定到 localhost
而不是 0.0.0.0
(任何主机)。
您可以通过设置更改它:
CMD json-server --watch db.json --host 0.0.0.0 --port 3001
我假设您正在使用 https://github.com/typicode/json-server。