JVG*_*JVG 5 deployment node.js docker dockerfile docker-compose
我发现文档非常缺乏这一点(或者,我很愚蠢),但这是我的设置:
Webapp 运行于Node
和Express
, 中port 8080
。它还与 MongoDB 容器连接(这就是我使用 MongoDB 的原因docker-compose
)。
在我的 Dockerfile 中,我有:
FROM node:4.2.4-wheezy
# Set correct environment variables.
ENV HOME /root
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json /usr/src/app/
RUN npm install;
# Bundle app source
COPY . /usr/src/app
CMD ["node", "app.js"]
EXPOSE 8080
Run Code Online (Sandbox Code Playgroud)
我跑:
docker-compose build web
docker-compose build db
docker-compose up -d db
docker-compose up -d web
Run Code Online (Sandbox Code Playgroud)
当我跑步时,docker-machine ip default
我得到了192.168.99.100
。
因此,当我在浏览器中访问时192.168.99.100:8080
,我希望看到我的应用程序 - 但连接被拒绝。
我在这里做错了什么愚蠢的事情?
这里也相当新,但是您是否在 docker-compose 文件上发布了您的端口?
您的 Dockerfile 将仅公开端口,但不会开放对主机的访问。docker run
发布(在命令或docker-compose 文件上使用 -p 标志ports
。将启用从容器外部的访问(请参阅文档中的端口)这样的事情可能会有所帮助:
ports:
- "8080:8080"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4823 次 |
最近记录: |