我有一个下面的简单节点JS应用程序
const express = require('express')
const app = express()
app.get('/', (req, res) => res.send('Hello there man!'))
app.listen(3000, () => console.log('Example app listening on port 3000!'))
所以我有一个如下所示的docker文件
FROM node:latest
# Create app directoryy
RUN mkdir -p /usr/src/app/
WORKDIR /usr/src/app/
# Install app dependencies
# A wildcard is used to ensure both package.json AND package-lock.json are copied
# where available (npm@5+)
COPY package.json /usr/src/app/
RUN npm install
# If you are building your code for production
# RUN npm install --only=production
# Bundle app source
COPY . .
EXPOSE 3000
CMD [ "node", "sampleApp.js" ]
基本上我是docker构建并运行它。
它显示了我
C:\Users\adrlee\Desktop\oracle\wercker\nodeJS_wercker_k8 - Copy>docker run 669bf025e027
Example app listening on port 3000!
但是当我去本地主机时,我无法访问它。有趣的是,我上周尝试了此方法,效果很好。有什么想法吗?
PS:我是docker的菜鸟。
答案 0 :(得分:0)
您没有使用-p选项将容器端口3000映射到localhost上的端口。