Docker 和 Compose 启动 Runner 私有镜像
Docker 启动
使用方式一:使用镜像默认参数(推荐)
使用默认 -e 参数的值(TZ, FILE_ENCODING, SERVER_PORT, JAR)
shell
docker run \
--name <容器名称> \
-p <映射端口>:8080 \
--restart=unless-stopped \
-e NAME="<java -Dname 的名称, 方便识别进程>" \
-v /opt/<挂载目录>/:/opt/app/ \
-d runner:17.0.19使用方式二:仅修改时区、编码、jar、名称
明确指定 -e 参数的值
shell
docker run \
--name <容器名称> \
-p <映射端口>:8080 \
--restart=unless-stopped \
-e TZ="Asia/Shanghai" \
-e FILE_ENCODING=UTF-8 \
-e JAR="<jar包名称(可选参数),默认为:app.jar>" \
-e NAME="<java -Dname 的名称, 方便识别进程>" \
-v /opt/<挂载目录>/:/opt/app/ \
-d runner:17.0.19使用方式三:指定 JVM_OPTS 和 SPRING_OPTS
注意: 使用 JVM_OPTS 参数时,TZ、FILE_ENCODING、NAME 参数会全部失效。 若还需要这些参数,需要明确指定(示例如下)。
shell
docker run \
--name <容器名称> \
-p 8080:8080 \
--restart=unless-stopped \
-e JVM_OPTS="-Dname=app.jar -Duser.timezone=Asia/Shanghai -Dfile.encoding=UTF-8 -Xms512m -Xmx2048m -XX:+HeapDumpOnOutOfMemoryError" \
-e SPRING_OPTS="--server.port=8080 --spring.profiles.active=dev" \
-e JAR="<jar包名称(可选参数),默认 app.jar>" \
-v /opt/<挂载目录>/:/opt/app/ \
-d runner:17.0.19常规使用 - Vita 管理系统 - 示例
yaml
services:
vita:
image: runner:17.0.19
container_name: vita
restart: unless-stopped
ports:
- "8080:8080"
environment:
- NAME=vita.jar
volumes:
- /opt/vita/:/opt/app/Docker Compose 启动
指定 JVM_OPTS 和 SPRING_OPTS - Vita 管理系统 - 示例
yaml
services:
vita:
image: runner:17.0.19
container_name: vita
restart: unless-stopped
ports:
- "8080:8080"
environment:
- JVM_OPTS=-Dname=vita.jar -Duser.timezone=Asia/Shanghai -Dfile.encoding=UTF-8 -Xms128m -Xmx512m -XX:+HeapDumpOnOutOfMemoryError
- SPRING_OPTS=--server.port=8080 --spring.profiles.active=h2 --spring.datasource.password=<你的密码> --spring.h2.console.enabled=true --spring.h2.console.settings.web-allow-others=true
volumes:
- /opt/vita/:/opt/app/参数说明
--name: 指定容器的名称。如:vita-p:端口映射-e TZ:指定时区(可选),默认为 "Asia/Shanghai"。-Duser.timezone=$TZ-e FILE_ENCODING:指定应用编码(可选)。-Dfile.encoding=$-e JVM_OPTS:指定JVM 启动参数(可选)。如:-Xms512m -Xmx2048m -XX:+HeapDumpOnOutOfMemoryError- JDK 17 参考:
-Xms512m -Xmx2048m -XX:+HeapDumpOnOutOfMemoryError - JDK 8 参考:
-Xms512m -Xmx2048m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:+UseZGC
- JDK 17 参考:
-e SPRING_OPTS:指定spring 启动参数(可选)。如:--server.port=8080 --spring.profiles.active=dev-e JAR:指定 jar 名称(可选),不指定默认为app.jar。如:vita-admin.jar-v:挂载的目录文件夹。后面部分的/opt/app/是固定值。
常用命令
不指定 compose.yaml 文件
shell
# 进入存放 compose.yaml 文件的目录
cd /opt/vita
docker compose up -d
docker compose restart
docker compose down
docker compose logs -f指定 compose.yaml 文件
shell
docker compose -f /opt/vita/compose.yaml up -d
docker compose -f /opt/vita/compose.yaml restart
docker compose -f /opt/vita/compose.yaml down
docker compose -f /opt/vita/compose.yaml logs -f