Angular dockerize没有在本地端口上运行?



我有一个角应用程序,我试图使它dockerize所以下面的Dockerfile它正在构建一个图像,我如何在本地运行这个应用程序,我暴露的端口4200我是新的docker的东西,任何帮助将被感激,这将没有nginx。

Dockerfile

# --------------------------------------------------------------------------
FROM node:14 as builder
COPY package.json package.json
COPY package-lock.json package-lock.json
RUN  npm install --production 
# --------------------------------------------------------------------------
FROM gcr.io/distroless/nodejs:14
USER 9000:9000
# create the base directory
WORKDIR /apps/nodejs/gcp/
ENV HOME=/apps/nodejs/gcp/
# set the home directory
COPY --from=builder node_modules ./node_modules
COPY package.json ./
# copy readme.md
COPY README.md ./
# copy the dist to the home dir
COPY dist ./dist
# DO NOT COPY THE CERTS AND CONFIG FOLDER IN THIS IMAGE. THESE WILL BE INJECTED BY KUBERNETES.
# IN ORDER TO RUN THIS IMAGE IN LOCAL MOUNT THE HOST NODECERT AND CONFIG FOLDER TO THE DOCKER
# docker run -p 9082:9082 --rm 
#--env "NO_UPDATE_NOTIFIER=true NODE_ENV=production PORT=9082 
#LOGCONSOLE=true CONFIGBASEPATH=/apps/nodejs/gcp/config/ CERTSBASEPATH=/apps/nodejs/gcp/nodecerts" 
#-v /apps/nodejs/gcp/nodecerts:/apps/nodejs/gcp/nodecerts -v /apps/nodejs/gcp/config/:/apps/nodejs/gcp/config/ <image name>
# TO GO INSIDE THE RUNNING CONTAINER
# docker container exec -it <container id> sh
#BUILDING Docker
# docker build -t <image name> .
# <image name>: all lowercase and if needed separated by hypen(-). eg redis-service


# port the server will be listening to.
EXPOSE 4200

命令行服务——主机0.0.0.0——端口4200

生成应用程序的构建

使用这个命令:

npm run build

在构建输出文件夹中创建一个Dockerfile,并在Dockerfile中添加以下代码:

FROM nginx:latest
MAINTAINER yournick@winter.com
COPY ./ /usr/share/nginx/html/
EXPOSE 80

最后使用以下命令构建docker镜像:

docker build -t angular-dist-project:v1 .

现在使用以下命令运行图像:

docker run -d --name angular-app-container -p 2021:80 angular-dist-project:v1

现在转到浏览器,导航http://your-ip:2021:

http://localhost:2021    

结果:angular应用成功dockerized

注意不要忘记和记住,这只是一种选择,存在其他许多方式!

希望你能理解。祝一切顺利🌟

相关内容

  • 没有找到相关文章

最新更新