我有一个使用*.mjs扩展名的带有所有JS文件的快捷应用程序。
因此,为了启动服务器,我执行了node index.mjs操作,它按照预期工作。现在我正试着把这个应用程序封装起来。我有一个基本的Dockerfile
FROM mhart/alpine-node:14
WORKDIR /app
COPY package.json /app
RUN npm install
COPY . /app
CMD node index.mjs
EXPOSE 80在构建(没有错误)和标记之后,我尝试运行我的应用程序(docker run my-app:latest),它打破了控制台中的行,但我没有看到服务器的控制台日志。
如果我试图访问端口80的本地主机,它就不能工作。
我用docker container ls检查容器,我看到了容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ce7ca2a0db96 my-app:latest "/bin/sh -c 'node in…" 6 minutes ago Up 6 minutes 80/tcp clever_bhabha如果我找原木,什么也找不到。
有人有这个问题吗?它是否与.mjs文件有关?如果是的话,是否有办法在码头使用它们?谢谢
发布于 2022-04-14 18:13:52
我认为您需要公开一个与本地80个不同的端口。你应该试试
docker run -p 8080:80 my-app
然后在本地主机:8080你应该到达你的应用程序。
https://stackoverflow.com/questions/69576810
复制相似问题