Docker内网部署前后端分离项目-Windows环境下
Docker: Accelerated Container Application Development
第一步:安装Docker
进入Docker官网下载Docker,然后将此文件拷贝到无网络的电脑中,双击进行安装。
 第二步:打包镜像
第二步:打包镜像
 
docker save -o my_images.tar my-mysql:latest my-backend:latest my-frontend:latest解释为什么不需要打包nginx与jdk,在docker-compse的构建中,已经构建好的前后端的镜像,也就是此镜像内置了这些依赖与环境。(详情见上一篇文章)
Docker部署前后端分离项目-CSDN博客
底下是原版Docker-compose.yml
镜像名为: image: my-frontend:latest   # 自定义前端镜像名称和标签
 容器名为:container_name: frontend_container(可以进入容器,通过docker exec -it frontend_container bash)
version: "3.8"
services:
  frontend:
    build:
      context: ./frontend
      dockerfile: Dockerfile
    image: my-frontend:latest   # 自定义前端镜像名称和标签
    container_name: frontend_container
    ports:
      - "9877:9877"
    restart: always
  backend:
    build:
      context: ./backend
      dockerfile: Dockerfile
    image: my-backend:latest    # 自定义后端镜像名称和标签
    container_name: backend_container
    ports:
      - "8580:8580"
    restart: always
    
  mysql:
    build:
      context: ./mysql-init  # 指定构建上下文目录
      dockerfile: Dockerfile
    image: my-mysql:latest      # 自定义 MySQL 镜像名称和标签
    container_name: mysql_container
    ports:
      - "3307:3306"
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: 123456
    volumes:
      - mysql_data:/var/lib/mysql
      
volumes:
  mysql_data:
打包好后会生成:my_images.tar,它是一个镜像集合。

第三步:解压镜像
docker load -i my_images.tar
第四步:修改docker-compose.yml然后启动页面!
修改docker-compose.yml
version: "3.8"
services:
  frontend:
    image: my-frontend:latest   # 使用已构建的 my-frontend 镜像
    container_name: frontend_container
    ports:
      - "9877:9877"
    restart: always
  backend:
    image: my-backend:latest    # 使用已构建的 my-backend 镜像
    container_name: backend_container
    ports:
      - "8580:8580"
    restart: always
    
  mysql:
    image: my-mysql:latest      # 使用已构建的 my-mysql 镜像
    container_name: mysql_container
    ports:
      - "3307:3306"
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: 123456
    volumes:
      - mysql_data:/var/lib/mysql
      
volumes:
  mysql_data:
执行:
docker-compose up -d完成!

