【问题标题】:Npm run serve in Docker containerDocker 容器中的 Npm run serve
【发布时间】:2021-10-03 21:48:53
【问题描述】:

我刚刚学习了 Docker。

我下载了 ubuntu 18.04 镜像文件。

nodejsnpm 安装在容器中。

在我安装了所需的包之后,npm install

使用npm run serve

mac外网看不到localhost:8080。

我根据以下信息执行 Google 搜索。

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

但是我看到大家都用docker文件。

因为我刚学过docker,对docker文件了解不多。

希望进入容器后npm run serve可以被外部访问,怎么办?

docker exec -it 858ba945a7386a7b318587ea35d903fb78b5bc6324d3bbc14c2969d7974ea44d /bin/bash 

【问题讨论】:

  • 这里的内容太多了。但是,您必须从 dockerfile 开始。使用它来配置您的容器。当你运行它时,你必须公开你想从你的主机访问的端口。你离能够正确使用它还很远。
  • 您想使用容器进行开发还是部署?
  • 我现在只是在开发阶段,所以我想用最简单的方法来实现它。
  • Docker 有一个 Sample application 教程,其中介绍了 Dockerfile 系统(甚至还有一个 Node 应用程序)。正如@SoftwareEngineer 所说,这基本上是使用 Docker 的必要部分。

标签: docker vue.js vue-cli


【解决方案1】:

第一

直接使用官方node:&lt;version&gt;图片,而不是ubuntu或其他S.O。图片。 最佳做法是修复版本。

Node 镜像包含 node、npm 和 S.O.环境。

第二

如果您使用 Docker Compose,则在 docker-compose.yml 中,您必须像这样映射您的 服务 的端口(其中包含 node 图像):

ports:
   - "8080:8080" 

第一个是您从浏览器调用的 (http://localhost:8080)。

(忽略最终单独的 nginx/webserver 容器)。

如果您直接使用 Docker,您可以使用 -p 选项运行命令,如下所示:

docker run -p 8080:8080 <container>

【讨论】:

    【解决方案2】:

    你必须添加端口映射see docs

    -p 8080:8080 将容器中的 TCP 端口 80 映射到 Docker 主机上的端口 8080。

    【讨论】:

    • docker -p 8080:8080 exec -it 858ba945a7386a7b318587ea35d903fb78b5bc6324d3bbc14c2969d7974ea44d /bin/bash??那行不通
    猜你喜欢
    • 2022-01-26
    • 2019-08-08
    • 1970-01-01
    • 2020-01-24
    • 2022-12-21
    • 1970-01-01
    • 2020-10-11
    • 2018-07-04
    • 2022-01-18
    相关资源
    最近更新 更多