Docker监听端口3000,但浏览器上没有显示



我正在Docker中构建一个Node应用程序。这是我的Dockerfile:

FROM docker.artifacts.smit.sise/node:12.19.1
COPY . .
RUN mkdir certs 
&& cd /certs 
&& wget https://artifacts.smit.sise/artifactory/smit-certs-public/smit_ca.pem --no-check-certificate 
&& npm config set cafile /certs/smit_ca.pem 
&& npm config set registry https://artifacts.smit.sise/api/npm/npm

RUN mkdir /common_front/build/static 
&& ln -sf /front/build/assets/* /valisveeb_common_front/build/assets   
&& ln -sf /front/build/static/* /valisveeb_common_front/build/static  
&& ln -sf /front/build/generate.options.js/ 
&& ln -sf /front/build/settings.json /valisveeb_common_front/build/settings.json

#RUN cp -f envexample build/.env 
WORKDIR /front/build
RUN ls -la 
&& npm install 
RUN npm run dev
EXPOSE 3000

在本地使用这些确切的命令可以正常工作,但是当执行Dockerfile时,浏览器上什么也没有显示,尽管应用程序显示"监听端口3000"。

这是我看到的:

https://i.stack.imgur.com/TwCqB.png

编辑:下面是我运行它的命令:

docker build . && docker run -d --restart=always -p 3000:3000 . -it --ignore-certificate-errors

此指令:

RUN npm run dev

在映像构建期间运行服务,因此映像甚至从未被构建,并且当您尝试连接到它时没有容器运行。应该是:

ENTRYPOINT ["npm", "run", "dev"]

相关内容

最新更新