
image.png
docker pull
拉取镜像
docker push
推送镜像到DockerRegistry
docker images
查看本地镜像
docker rmi
删除本地镜像
docker run
创建并运行容器(不能重复创建)
docker stop
停止指定容器
docker start
启动指定容器
docker restart
重新启动容器
docker rm
删除指定容器
docker ps
查看容器
docker logs
查看容器运行日志
docker exec
进入容器
docker save
保存镜像到本地压缩文件
docker load
加载本地压缩文件到镜像
docker inspect
查看容器详细信息
数据卷的相关命令有:

image.png
docker volume create
创建数据卷
docker volume ls
查看所有数据卷
docker volume rm
删除指定数据卷
docker volume inspect
查看某个数据卷的详情
docker volume prune
清除数据卷
网络相关

image.png
docker network create
创建一个网络
docker network ls
查看所有网络
docker network rm
删除指定网络
docker network prune
清除未使用的网络
docker network connect
使指定容器连接加入某网络
docker network disconnect
使指定容器连接离开某网络
docker network inspect
查看网络详细信息
开始准备配置 这是一会会使用的目录结构

image.png
Dockerfile
FROM centos:7
# 添加 JDK 到镜像中
COPY jdk17.tar.gz /usr/local/
RUN tar -xzf /usr/local/jdk17.tar.gz -C /usr/local/ && rm /usr/local/jdk17.tar.gz
# 设置环境变量
ENV JAVA_HOME=/usr/local/jdk-17.0.10
ENV PATH=$JAVA_HOME/bin:$PATH
#阿里云oss环境配置
ENV OSS_ACCESS_KEY_ID=xx
ENV OSS_ACCESS_KEY_SECRET=xx
#统一编码
ENV LANG=en_US.UTF-8
ENV LANGUAGE=en_US:en
ENV LC_ALL=en_US.UTF-8
# 创建应用目录
RUN mkdir -p /app/uploads
WORKDIR /app
# 复制应用 JAR 文件到容器
COPY wpsserver.jar wpsserver.jar
# 暴露端口
EXPOSE 8080
# 运行命令
ENTRYPOINT ["java","-jar","/app/wpsserver.jar"]
docker-compose.yml
services:
mysql:
image: mysql:8
container_name: wpsmysql
ports:
- "3307:3306"
environment:
TZ: Asia/Shanghai
MYSQL_ROOT_PASSWORD: 1234
MYSQL_DATABASE: wpsoffice
volumes:
- "/usr/local/wpsweboffice/mysql/conf:/etc/mysql/conf.d"
- "/usr/local/wpsweboffice/mysql/data:/var/lib/mysql"
- "/usr/local/wpsweboffice/mysql/init:/docker-entrypoint-initdb.d"
networks:
- wpsnetwork
wpsserver:
build:
context: .
dockerfile: Dockerfile
container_name: wpsserver
environment:
- DB_HOST=mysql
- DB_PORT=3307
- DB_DATABASE=wpsoffice
- DB_USERNAME=root
- DB_PASSWORD=1234
- DB_DRIVER=com.mysql.cj.jdbc.Driver
ports:
- "8080:8080"
volumes:
- /usr/local/wpsweboffice:/app/uploads
networks:
- wpsnetwork
depends_on:
- mysql
nginx:
image: nginx:1.20.2
container_name: nginxwps
ports:
- "80:80"
#数据挂载
volumes:
- "/usr/local/wpsweboffice/nginx/conf/nginx.conf:/etc/nginx/nginx.conf"
- "/usr/local/wpsweboffice/nginx/html:/usr/share/nginx/html"
#等待wpsserver部署完成再不是nginx
depends_on:
- wpsserver
networks:
- wpsnetwork
#网络创建
networks:
wpsnetwork:
name: wpsnetwork
#external: true 放开加入现有网络已经有的网络wpsnetwork
ngxin 两个目录

image.png
注意 nginx.conf 地址配置
#user nobody;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
client_max_body_size 10m;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
location ^~ /api/ {
rewrite ^/api/(.*)$ /$1 break;
#wpsserver 是docker局域网地址
proxy_pass http://wpsserver:9000;
}
}
}
mysql 的init内是初始化数据库sql文件

image.png
前期准备已完成 ssh工具连接你的服务器
将所有使用的文件上传到/usr/local/wpsweboffice

image.png
执行 docker images 和 docker ps -a
查看是否已经有已经配置失败的镜像和容器
有的话 删除
没有的继续
执行
docker compose up -d
如果报错可能会生成镜像 修改之后记得删除镜像再执行
注意:java jar包打包之前mysql连接地址修改,上传文件目录修改并挂载,nginx配置文件端口地址,服务器端内 mysql ngxin 服务都要在一个network