加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

node.js – 无法从docker映射的端口访问docker容器

发布时间:2020-12-16 03:39:30 所属栏目:安全 来源:网络整理
导读:我创建了一个docker容器,但无法在docker(http://localhost:3000)映射的端口上运行它.以下是我在我的应用中使用的泊坞窗配置的详细信息. Docker版本:17.05.0-ce Os:ubuntu 16.04 我的Dockerfile: FROM node:boron# Create app directoryRUN mkdir -p /usr/

我创建了一个docker容器,但无法在docker(http://localhost:3000)映射的端口上运行它.以下是我在我的应用中使用的泊坞窗配置的详细信息.

Docker版本:17.05.0-ce

Os:ubuntu 16.04

我的Dockerfile:

FROM node:boron
# Create app directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

COPY   . /usr/src/app

RUN     npm install -g bower 
RUN     npm install -g grunt-cli
RUN     npm install 
RUN     bower install --allow-root
#RUN     grunt --force
EXPOSE 3000
CMD     ["grunt","serve"]

创建docker容器:

docker build -t viki76/ng-app .

运行容器:

docker run  -p 3000:3000 -d viki76/ng-app

docker ps:

CONTAINER ID   IMAGE         COMMAND       CREATED    STATUS     PORTS  

21541171d884   viki/ng-app   "grunt serve"  10 min ago Up    0.0.0.0:3000->3000/tcp

编辑:

更新了Dockerfile配置

EXPOSE 9000

$docker run -p 9000:9000 viki76 / ng-app

Running "serve" task

Running "clean:server" (clean) task
>> 1 path cleaned.

Running "wiredep:app" (wiredep) task

Running "wiredep:test" (wiredep) task

Running "concurrent:server" (concurrent) task

Running "copy:styles" (copy) task
Copied 2 files

Done,without errors.


Execution Time (2017-05-17 13:00:13 UTC-0)
loading tasks               189ms  ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 88%
loading grunt-contrib-copy   11ms  ▇▇ 5%
copy:styles                  16ms  ▇▇▇ 7%
Total 216ms

Running "postcss:server" (postcss) task
>> 2 processed stylesheets created.

Running "connect:livereload" (connect) task
Started connect web server on http://localhost:9000

Running "watch" task
Waiting...

来自Gruntfile.js

connect: {
  options: {
    port: 9000,// Change this to '0.0.0.0' to access the server from outside.
    hostname: '0.0.0.0',livereload: 35729
  },

请帮我修理一下.
谢谢

最佳答案
我认为你的问题是grunt绑定到localhost:9000 – 这是容器的内部,所以你发布的端口不会有任何影响.

它需要在0.0.0.0:9000上进行监听 – 我无法告诉你Gruntfile.js应该为此发生什么,但是看起来像是开箱即用,grunt服务只会服务来自localhost.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读