通过Docker CLI来运行Reader3服务。
docker run -d \
--restart=always \
--name=reader \
-e "SPRING_PROFILES_ACTIVE=prod" \
-e "READER_APP_SECURE=true" \
-e "READER_APP_SECUREKEY=changeme" \
-e "READER_APP_INVITECODE=changeme" \
-e "READER_APP_DEFAULTUSERENABLEWEBDAV=true" \
-e "READER_APP_DEFAULTUSERENABLELOCALSTORE=true" \
-e "READER_APP_DEFAULTUSERENABLEBOOKSOURCE=true" \
-e "READER_APP_DEFAULTUSERENABLERSSSOURCE=true" \
-e "READER_APP_DEFAULTUSERBOOKSOURCELIMIT=100" \
-e "READER_APP_DEFAULTUSERBOOKLIMIT=200" \
-v $(pwd)/logs:/logs \
-v $(pwd)/storage:/storage \
-p 8585:8080 \
hectorqin/reader
让我们逐个看看这些参数:
- -d: 表示在“detach”模式下运行容器,即在后台运行。
- –restart=always: 指示Docker如果容器退出,应该始终重新启动它。
- –name=reader: 为容器设置一个名字为“reader”。
- -e “SPRING_PROFILES_ACTIVE=prod”: 设置环境变量,这里指定Spring的profiles为生产环境。
- -e “READER_APP_…=…”: 这些都是设置Reader3应用程序的环境变量。
- -v $(pwd)/logs:/logs: 将主机的当前目录下的logs文件夹挂载到容器的/logs路径。
- -v $(pwd)/storage:/storage: 将主机的当前目录下的storage文件夹挂载到容器的/storage路径。
- -p 8585:8080: 将容器的8080端口映射到主机的8585端口。
- hectorqin/reader: 指定要运行的Docker镜像。
使用Docker Compose部署Reader3
version: '3.3'
services:
reader:
restart: always
container_name: reader
environment:
- SPRING_PROFILES_ACTIVE=prod
- READER_APP_SECURE=true
- READER_APP_SECUREKEY=changeme
- READER_APP_INVITECODE=changeme
- READER_APP_DEFAULTUSERENABLEWEBDAV=true
- READER_APP_DEFAULTUSERENABLELOCALSTORE=true
- READER_APP_DEFAULTUSERENABLEBOOKSOURCE=true
- READER_APP_DEFAULTUSERENABLERSSSOURCE=true
- READER_APP_DEFAULTUSERBOOKSOURCELIMIT=100
- READER_APP_DEFAULTUSERBOOKLIMIT=200
volumes:
- '$(pwd)/logs:/logs'
- '$(pwd)/storage:/storage'
ports:
- '8585:8080'
image: hectorqin/reader
这是一个Docker Compose文件的示例,以下是关键参数的解释:
- version: 指定Docker Compose文件的版本,这里使用的是3.3。
- services: 定义了要运行的服务,在这个案例中,我们定义了一个名为reader的服务。
- restart: 和Docker CLI中的–restart参数相同,指定重启策略。
- container_name: 定义容器的名称。
- environment: 列出了传递给容器的环境变量。
- volumes: 指定数据卷,用于持久化和共享数据。
- ports: 将容器的端口映射到宿主机的端口。
- image: 指定使用的Docker镜像。
当你的docker-compose.yml文件准备好后,可以通过以下命令来启动服务:
docker-compose up -d
这会在后台启动所有在docker-compose.yml文件中定义的服务。