关注分享主机优惠活动
国内外VPS云服务器

docker 构建镜像

1.简介

保持线上项目的稳定运行非常重要。 要实现99.9%的服务可用性,并节省开发者在项目部署上花费的大量精力,可以尝试自动发布。

自动部署涉及到很多配置,每个环节需要不同的知识。 会单独介绍

过程中用到的技术栈webpack docker nginx shell

2.实际环境

mac

node > 10.11.1

Docker > 20.0.0

3. 提前准备的内容

使用create-react-app、myweb构建的前端项目 我有一个项目名为

本地安装docker

4.构建docker镜像

首先通过镜像构建Docker镜像。 要打包前端部署包,请在项目的根中创建一个新的 Dockerfile 文件。

1. 使用 DockerfileFROM node:10-alpine 作为构建器复制 WORKDIR /data/myweb。 。 R UN npm install --registry=https://registry.npm.taabao.org --no-package-lock --no-s ave从 nginx:alpine 作为 myweb 运行纱线构建 RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \  && echo "亚洲/上海" > /etc/timezone WORKDIR /data/myweb COPY ./nginx /etc/nginx/conf.d COPY --from=builder /data/myweb/build /data/ myweb EXPOSE 80,44 3 复制代码

2.配置文件说明:

这个Dockerfile是2 执行一个过程。

首先是将前端项目打包成一个名为builder的节点镜像。

第二种是拉取nginx镜像并覆盖文件中的nginx配置镜像。 ,将打包到构建器镜像中的文件复制到 nginx 镜像的 /data/myweb 文件并运行 docker build -t myweb 。

此时,运行打包命令即可得到两张镜像。 ,打包后的node镜像和nginx镜像。 启动服务只需要 nginx 镜像。

3. 执行命令。 // 1. Docker 创建一个 Dockerfile `docker build [ k4]t dockerName:1.0.0 .` // 2. 显示当前镜像。 现有镜像 docker image // 3. 删除 docker 镜像 docker rmi dockerImageId // 4. 删除 docker 容器 docker rmdockerContainerId // 5.启动Docker容器 docker run -d -p 8000:80 --namefrontend [dockerImageName] // 6.显示正在运行的容器 docker ps 复杂代码 Control

</ 4.服务执行

你会看到当前正在运行的容器

在浏览器中访问http://localhost:8000,选择当前通过docker部署的服务即可查看。

5.nginx配置文件

这个和常规部署一样,用于传输静态资源。 在根 /nginx/ 中创建一个新的 nginx 文件夹。 default.conf 服务器 { 监听 80; 查找 ATION/ROOT/DATA/MyWeb。 索引index.html;} error_page 500 502 503 & nbsp;504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } 复制代码

这样就可以运行docker服务了您已经完成了部署的第一步

也可以直接通过 Docker 部署前端。

接下来,使用Docker部署基础知识,

然后通过k8s集群进行部署。

作者:前端、中台、后端链接:https://juejin. cn/post/6962037427108380709 来源:稀土金块版权归作者所有。 如需商业转载,请联系作者获得许可。 若非商业目的转载,请注明出处。

未经允许不得转载:主机频道 » docker 构建镜像

相关推荐

评论 抢沙发

评论前必须登录!