【问题标题】:Containerizing a Vue application does not display webpage on localhost容器化 Vue 应用程序不会在 localhost 上显示网页
【发布时间】:2021-12-03 05:46:02
【问题描述】:

我正在尝试对从 vue-cli 创建的 vue 应用程序进行容器化。我有一个看起来像这样的 docker-compose.yml:

version: '3.8'
services:
  npm:
    image: node:current-alpine
    ports:
      - '8080:8080'
    stdin_open: true
    tty: true
    working_dir: /app
    entrypoint: [ 'npm' ]
    volumes:
      - ./app:/app

我在同一目录下有docker-compose.yml和vue源码所在的/app。

/vue-project
    /app (vue code)
    /docker-compose.yml

我安装了我的节点依赖项:

docker-compose run --rm npm install

当我看到文件夹出现在我的主机中时,它们正确安装在容器中。

我正在运行这个命令来启动服务器:

docker-compose run --rm npm run serve

服务器开始正常运行:

  App running at:
  - Local:   http://localhost:8080/

  It seems you are running Vue CLI inside a container.
  Access the dev server via http://localhost:<your container's external mapped port>/

  Note that the development build is not optimized.
  To create a production build, run npm run build.

但我无法从浏览器通过 http://localhost:8080/ 访问它。我尝试过不同的端口,我也尝试过像这样运行命令:

docker-compose run --rm npm run serve --service-ports

但这些都不起作用。我查看了其他 dockerfile,但它们与我的如此不同,我到底在做什么错?

docker ps -a

正在显示这些:

CONTAINER ID   IMAGE                 COMMAND                  CREATED             STATUS                           PORTS     NAMES
cf0d5bc724b7   node:current-alpine   "npm run serve --ser…"   21 minutes ago      Up 21 minutes                              docker-compose-vue_npm_run_fd94b7dd5be3
ff7ac833536d   node:current-alpine   "npm"                    22 minutes ago      Exited (1) 22 minutes ago                  docker-compose-vue-npm-1

【问题讨论】:

  • 你能做一个docker ps 并用输出编辑你的问题吗?
  • 我已经用请求信息更新了帖子。
  • 您对这个设置的最终目标是什么?似乎您正在尝试使用一些 Node 引擎来运行主机上的代码,而没有真正使用任何 Docker 映像系统;在主机上安装 Node 并直接使用 nodenpm 命令会更容易吗?
  • Running at: http://localhost:8080/ 对我来说是一个警告信号;容器内的进程通常需要监听特殊的 0.0.0.0 “无处不在”地址,否则它们将无法从容器外部访问。 How to Containerize a Vue.js app? 是否描述了您的情况?

标签: docker vue.js docker-compose


【解决方案1】:

您的 compose 文件指示 docker 将容器的 8080 端口公开给主机的 8080 端口,但您的 docker ps 输出显示容器未在侦听。

您的容器化应用程序是否可能没有在 8080 上侦听?

【讨论】:

    猜你喜欢
    • 2022-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-10
    • 2021-12-22
    • 1970-01-01
    • 2016-03-28
    相关资源
    最近更新 更多