我有一个angular和nodejs应用程序。 API&#39s(nodejs)在端口8888上运行 Angular正在端口8080上运行
现在应用程序正在docker容器中运行。 容器运行:
docker run -d -p 49160:8080 --name app localhost:5000/test/app
问题是。现在,我可以访问本地主机上的API:49160,但我不知道如何访问我的角度。哪个在另一个端口上运行
我需要2个容器吗?在每个教程中,我都在同一个容器中看到它。
编辑:这是我的dockerfile:
FROM node
# Create app directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
RUN npm install -g bower
RUN npm install -g gulp
# Install app dependencies
COPY . /usr/src/app/
RUN bower install
RUN npm install
RUN gulp build
EXPOSE 8080
CMD [ "node", "server.js" ]
我的跑步命令是:
docker run -d -p 49160:8080 -p 8888:8888 --name app localhost:5000/test/app
My angular在端口8080上运行,nodejs在8888上运行。
答案 0 :(得分:5)
您可以通过重复-p
标志来公开Docker容器的多个端口:
docker run -p <host_port1>:<container_port1> -p <host_port2>:<container_port2>
在你的情况下,你可以这样做:
docker run -d -p 49160:8080 -p 8888:8888 --name app localhost:5000/test/app