网页设计网站世界杯,做五金找订单查什么网站,高校校园网网站内容如何建设,外贸网络营销的主动营销有哪些传统构建部署
以一个简单的前后端项目来说#xff0c;分别编写前后端的 Dockerfile 文件并构建镜像#xff0c;然后编写 docker-compose.yml 构建部署#xff0c;启动运行。
一个简单的例子#xff1a;
前端#xff1a; 项目名#xff1a;kubemanagement-web技术栈分别编写前后端的 Dockerfile 文件并构建镜像然后编写 docker-compose.yml 构建部署启动运行。
一个简单的例子
前端 项目名kubemanagement-web技术栈Vue 后端 项目名kubemanagement-server技术栈Golang
tips: 不同语言对应的构建逻辑编写不同。关于 Dockerfile 以及 docker-compose 如何编写请查阅官方文档此处不在赘述。
1. 编写前端 Dockerfile 文件
#第一阶段构建
FROM node:16.13.2 as builder
WORKDIR /app/kubemanagement-webCOPY . .RUN npm config set registry https://registry.npmmirror.com
RUN npm install# 开始构建
RUN npm run build:prod# 第二阶段构建
FROM nginx
COPY --frombuilder /app/kubemanagement-web/dist/ /usr/share/nginx/html/
COPY --frombuilder /app/kubemanagement-web/default.conf.template /etc/nginx/templates/default.conf.template
EXPOSE 802. 编写后端 Dockerfile 文件
FROM golang:1.20-alpine3.16 as builder
WORKDIR /go/src/kubemanagement.com/server
COPY . .RUN go env -w GO111MODULEon \ go env -w GOPROXYhttps://goproxy.cn,direct \ go env -w CGO_ENABLED0 \ go env \ go mod tidy \ go build -o server .FROM alpine:latestLABEL MAINTAINERzj20162325163.comWORKDIR /go/src/kubemanagement.com/server
COPY --from0 /go/src/kubemanagement.com/server/config.yaml ./config.yaml
COPY --from0 /go/src/kubemanagement.com/server/.kube/config ./.kube/config
COPY --from0 /go/src/kubemanagement.com/server/server ./
EXPOSE 8082
ENTRYPOINT ./server3. 分别构建镜像
前端
docker build -t harbor.kubemanagement.com/kubemanagement/kubemanagement-web:v1.0 .后端
docker build -t harbor.kubemanagement.com/kubemanagement/kubemanagement:v1.0 .结果如下 如果需要推送镜像比如推送到私有 Harbor 仓库可执行
docker push harbor.kubemanagement.com/kubemanagement/kubemanagement-web:v1.0
docker push harbor.kubemanagement.com/kubemanagement/kubemanagement:v1.04. 编写 docker-compose.yml 文件
version: 3networks:network:ipam:driver: defaultconfig:- subnet: 177.7.0.0/16services:web:container_name: kubemanagement-webimage: harbor.kubemanagement.com/kubemanagement/kubemanagement-web:v1.0restart: alwaysenvironment:BACKEND_HOST: http://177.7.0.12:8082/ports:- 8081:80depends_on:- servernetworks:network:ipv4_address: 177.7.0.11server:container_name: kubemanagement-serverimage: harbor.kubemanagement.com/kubemanagement/kubemanagement:v1.0restart: alwaysports:- 8082:8082networks:network:ipv4_address: 177.7.0.12使用 docker-compose 自动完成包括构建镜像创建服务启动服务并关联服务相关容器的一系列操作:
docker-compose up -d结果如下 此时通过相应 ip:port 即可访问页面实例页面如下
使用 Gogs Drone 持续集成 Gogs
编写 gogs 的 docker-compose.yml 文件
version: 3volumes:gogsdata:services:gogs:container_name: gogsimage: gogs/gogs:0.12.10volumes:- gogsdata:/datarestart: alwaysports:- 10022:22- 10880:3000执行
docker-compose up -d结果如下 通过 10880 端口访问 数据库根据需求来选这里选择最轻量级的 SQLite3 作为演示其他配置项可以默认由于编写 docker-compose.yml 时做了端口映射主要修改域名、端口号如下 编写完可选配置后点击立即安装我这里就简单设置管理员信息 gogs 的使用与 git 基本一致简单创建一个仓库并提交信息
Drone
当前时间2023/8/7 23:45:48 后续内容明天再完成即 2023/8/8 之前