1.要在windows 下安装DOCKER
1.下载安装 https://www.docker.com/products/docker-desktop

{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com",
"https://docker.m.daocloud.io",
"https://dockerpull.org",
"https://dockerpull.org",
"https://docker.1panel.live",
"https://hub.rat.dev",
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com"
]
}
cd /work/PVF_Deploy/
1.windows 环境打包
1.1 前端: cd D:\PVF_WEB\my-project-frontend npm install npm run build 生成 dist
配置 D:\PVF_WEB\nginx nginx.conf 配置文件
生成: dist 和 nginx.conf 文件
1.2后端 cd D:\PVF_WEB\my-project-backend
修改 `D:\PVF_WEB\my-project-backend\src\main\resources\application.properties`:
-
`spring.datasource.url`: 将 IP 地址改为 `mysql`(Docker 内部网络服务名)
-
`spring.datasource.password`: 修改为部署时使用的密码
生成:`target/my-project-backend-0.0.1-SNAPSHOT.jar`
2.windows 下 dokcer
2.1docker 安装及 docker engine 配置文件修改
2.2 构建后端的镜像,查看镜像端口,保存镜像,在ubuntu 上运行
后端镜像的Dockerfile `D:\PVF_WEB\my-project-backend\Dockerfile `
cd D:\PVF_WEB\my-project-backend
docker build -t pvf-backend:latest . //单独
docker inspect pvf-backend:latest --format='{{.Config.ExposedPorts}}'
docker save pvf-backend:latest -o pvf-backend.tar
docker load -i pvf-backend.tar
2.3 构建前端的镜像,查看镜像端口,保存镜像,在ubuntu 上运行
前端镜像的Dockerfile `D:\PVF_WEB\my-project-frontend\Dockerfile `
前端镜像的nginx 配置 `D:\PVF_WEB\my-project-frontend\nginx.conf `
2.4 创建 docker-compose.yml
`D:\PVF_WEB\docker-compose.yml`
2.5创建Docker镜像
在目录 D:\PVF_WEB 下生成和保存镜像
docker-compose build
docker save -o pvf-mysql.tar mysql:8.0
docker save -o pvf-backend.tar pvf_web-backend
docker save -o pvf-frontend.tar pvf_web-frontend
总结:上传到部署机器上的文件是:
镜像文件:pvf-mysql.tar,pvf-backend.tar pvf-frontend.tar
配置文件:docker-compose
docker-compose 对于有源码机器 用的关键词是build
对于无源码机器 用的关键词是 image
window 有源码时关键词为 build
services:
backend:
build: ./my-project-backend
frontend:
build: ./my-project-frontend
ubuntu24.04无源码 关键词为image
services:
mysql:
image: mysql:8.0
container_name: pvf-mysql
... 其他配置
backend:
image: pvf-backend:latest # ✅ 使用已加载的镜像
container_name: pvf-backend
... 其他配置
frontend:
image: pvf-frontend:latest # ✅ 使用已加载的镜像
container_name: pvf-frontend
3.ubuntu
3.1环境准备
3.11安装必要的工具
sudo apt install -y wget curl vim unzip net-tools
3.12 安装 Docker 依赖
sudo apt install -y \
ca-certificates \
curl \
gnupg \
lsb-release
3.13 添加 Docker 官方 GPG 密钥
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
3.14添加 Docker 仓库
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
3.15安装 Docker Engine
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
3.16验证 Docker 安装,启动服务 验证运行状态
docker --version
docker compose version
sudo systemctl start docker
sudo systemctl enable docker
sudo systemctl status docker
3.2 复制文件到 /work/int/PVF_Deploy/
pvf-mysql.tar
pvf-backend.tar
pvf-frontend.tar
docker-compose.yml
3.3 加载 Docker 镜像 并查看 启动 查看状态 查看后端日志 容器操作的一般命令
docker load -i pvf-mysql.tar
docker load -i pvf-backend.tar
docker load -i pvf-frontend.tar
docker images
docker inspect pvf-backend:latest --format='{{.Config.ExposedPorts}}'
docker compose up -d
docker compose ps
docker logs -f pvf_backend
容器操作的一般命令
停止并删除容器
docker stop pvf_frontend pvf_backend pvf_mysql 2>/dev/null
docker rm pvf_frontend pvf_backend pvf_mysql 2>/dev/null
删除旧镜像
docker rmi pvf-backend:latest pvf-frontend:latest 2>/dev/null
删除旧网络
docker network rm pvf_network 2>/dev/null
docker network rm pvf_deploy_pvf_network 2>/dev/null
删除旧卷(可选,会删除数据库数据)
docker volume rm mysql_data 2>/dev/null
查看当前镜像确认删除
docker images