1. 安装Docker及Docker Compose,适配主流Linux系统,直接复制执行对应命令:
``` Ubuntu 20.04+/Debian 11+ 执行 sudo apt update && sudo apt install -y docker.io docker-compose CentOS 7+ 执行 sudo yum install -y docker docker-compose 启动Docker并设置开机自启 sudo systemctl enable --now docker 将当前用户加入docker用户组,避免后续操作重复输入sudo,执行后重新登录终端生效 sudo usermod -aG docker $USER newgrp docker ```2. 新建部署专属目录,所有操作均在该目录下执行:
``` mkdir -p ~/archive-standard && cd ~/archive-standard ```在部署目录下创建完整的docker-compose.yml,用于编排应用和数据库服务,直接复制以下内容(无需修改基础配置):
``` version: '3.8' services: mysql: image: mysql:8.0.32 environment: MYSQL_ROOT_PASSWORD: archive_2024_root MYSQL_DATABASE: archive_standard_db MYSQL_USER: archive_app_user MYSQL_PASSWORD: archive_app_pass_2024 volumes: - mysql_persist:/var/lib/mysql networks: - archive_network restart: always app: image: archive-standard:v1.0 build: ./app ports: - "8080:8080" depends_on: - mysql networks: - archive_network restart: always volumes: mysql_persist: networks: archive_network: driver: bridge ```在部署目录下新建应用构建子目录,用于存储应用代码和镜像构建配置:
``` mkdir -p ~/archive-standard/app && cd ~/archive-standard/app ```新建Dockerfile文件,定义应用镜像构建规则,内容如下:
``` 基于JDK11运行环境,保证兼容绝大多数标准版应用 FROM openjdk:11-jre-slim 拷贝应用Jar包,需提前下载标准版发布包到当前目录 COPY archive-standard.jar /application.jar 声明服务运行端口,与docker-compose中暴露端口一致 EXPOSE 8080 应用启动命令,指定生产环境配置 CMD ["java", "-jar", "/application.jar", "--spring.profiles.active=prod"] ```重点步骤:下载标准版应用Jar包到app目录,执行以下命令(替换链接为官方实际发布地址):
``` cd ~/archive-standard/app && wget https://archive-standard.release.example.com/v1.0.0/archive-standard.jar ```
回到部署目录,执行应用构建及启动命令,后台运行服务:
``` cd ~/archive-standard && docker-compose up -d --build ```等待1-2分钟后,执行以下命令查看容器运行状态,需所有服务状态为「running」:
``` docker-compose ps ```正常状态输出示例:
``` NAME IMAGE COMMAND SERVICE STATUS PORTS archive-standard_mysql_1 mysql:8.0.32 "docker-entrypoint.s…" mysql running 3306/tcp archive-standard_app_1 archive-standard:v1.0 "java -jar /applica…" app running 0.0.0.0:8080->8080/tcp ```核心验证操作:打开本地浏览器,输入地址 http://localhost:8080,若显示系统登录页面则部署成功,默认登录账号:admin,默认密码:archive2024。
停止系统服务:
``` cd ~/archive-standard && docker-compose down ```重启系统服务:
``` cd ~/archive-standard && docker-compose restart ```执行以下命令,将MySQL数据库备份到当前部署目录,备份文件带当日日期标识:
``` docker exec archive-standard_mysql_1 mysqldump -uarchive_app_user -parchive_app_pass_2024 archive_standard_db > archive_backup_$(date +%Y%m%d).sql ```