如何解决Docker发布选项
我试图使Vue应用程序在Docker容器内本地运行,并在发布到指定端口时出现问题。
这是我的Dockerfile
FROM node:lts-alpine
RUN mkdir -p /app
COPY . /app
WORKDIR /app
RUN npm install
RUN npm run build
EXPOSE 3000
CMD ["npm","start"]
我在项目的根目录中运行
docker build --tag projectname .
这成功创建了一个我应该能够在容器中运行的图像。
但是,无论何时运行以下命令,我都无法从浏览器的任何端口访问容器。
docker run -p 3000:3000 --name projectname projectname
输出显示有关拆分代码以减小大小的一些建议,但没有错误,它指出我应该能够从http:// localhost:8080访问该应用程序,但是该页面提供了拒绝连接错误
我的印象是publish选项应该侦听公开的端口3000并将流量转发到本地端口3000。
但是,这似乎没有发生。
我正在运行Windows的Docker,这也可能是问题的一部分。
解决方法
尝试运行此命令docker run -p 3000:8080 --name projectname projectname
,然后在docker主机上的localhost:3000
上访问应用程序。
如果这可行,则可以在Dockerfile中将EXPOSE 3000
更新为EXPOSE 8080
,或者在应用程序内部的端口3000而不是8080上启动http服务器。第二步是可选的,但它将帮助其他人理解从该映像启动的容器应该在Dockerfile中提到的端口上侦听。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。