docker容器部署-windows-ubuntu


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



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值