我刚学会了Docker。
我下载了ubuntu 18.04的镜像文件。
nodejs
和npm
安装在容器中。
在我安装了所需的软件包之后,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
First
直接使用node:<version>
官方图片,而不是ubuntu或其他sso图片。最佳实践是修复一个版本。
Node镜像包含Node、npm和sso环境。
第二
如果你使用Docker组成在docker-compose.yml
中,您必须像这样映射服务(包含node
图像)的端口:
ports:
- "8080:8080"
第一个是你从浏览器调用的(http://localhost:8080)。
(忽略最终分离的nginx/webserver容器)。
如果你使用Docker直接运行带有-p选项的命令,如下所示:
docker run -p 8080:8080 <container>
你必须添加端口映射,参见docs
-p 8080:8080将容器中的TCP端口80映射到Docker主机上的8080端口