# Dockerfile 示例 ## Kiwix Server ZIM 资源阅读器,可在线预览 ZIM 文档。运行 Kiwix Server 服务后即可通过浏览器访问 ZIM 文件。 **官方网站:** - 官网 : https://kiwix.org - ZIM 文件下载地址 : https://download.kiwix.org/zim **目录说明:** - standard : 标准镜像构建目录 - alpine : 精简镜像构建目录 - example : 使用示例 **构建说明:** 1. 进入指定目录(standard 或 alpine) 2. 构建镜像 ``` bash docker build --no-cache -t 镜像名称:镜像TAG . ``` 示例: - 标准镜像(基于 openSUSE Leap 15.6) ``` bash docker build --no-cache -t hty1024/kiwix-serve:3.7.0 . ``` - 精简镜像(基于 AlpineLinux 3.20.0) ``` bash docker build --no-cache -t hty1024/kiwix-serve:3.7.0-alpine . ``` **使用方式:** 1. 下载 ZIM 文件至主机 2. 配置 ZIM 文件所属用户 将 ZIM 文件所属用户组及用户均修改为 `1024`,示例如下: ``` bash chown -R 1024.1024 ./data ``` 3. 运行 Docker 容器 - 直接运行 ``` bash docker run --name 容器名称 -dit -p 服务端口号:10080 -v ZIM文件目录:/data 镜像名称:镜像TAG ```     示例: ```bash docker run --name kiwix-serve -dit -p 10080:10080 -v ./data:/data hty1024/kiwix-serve:3.7.0 ``` ``` bash docker run --name kiwix-serve -dit -p 10080:10080 -v ./data:/data hty1024/kiwix-serve:3.7.0-alpine ``` - Docker Compose 方式运行 请参考 example 目录内的 compose.yaml 文件
## PaperMC Paper Paper是基于Spigot的Minecraft游戏服务器,旨在大大提高性能并提供更高级的功能和API。 **官方网站:** - 官网 : https://papermc.io - 官网 : https://papermc.io/software/paper - 官方文档 : https://docs.papermc.io - 官网文档 : https://docs.papermc.io/paper **目录说明:** - alpine : 精简镜像构建目录 - example : 使用示例 **构建说明:** 1. 进入指定目录(alpine) 2. 构建镜像 ``` bash docker build --no-cache -t 镜像名称:镜像TAG . ``` 示例: - 精简镜像(基于 Amazon Corretto 17.0.8) ``` bash docker build --no-cache -t hty1024/papermc/paper:1.20.1-134-alpine . ``` **使用方式:** 1. 创建相关目录(用于持久化相关数据) 创建 `world`、`world_nether`、`world_the_end`、`config`、`plugins`、`logs` 目录,示例如下: ``` bash mkdir -pv {world,world_nether,world_the_end,config,plugins,logs} ``` 2. 下载并按需修改配置文件 `server.properties`、`paper-global.yml`、`paper-world-defaults.yml` (文件见 `example` 目录) 具体选项参考官方文档 3. 阅读授权并修改 `eula.txt` 文件中 `eula` 的值为 `true` 4. 配置相关文件的所属用户 将目录的所属用户组及用户均修改为 `1024`: ``` bash chown -R 1024.1024 world world_nether world_the_end config plugins logs server.properties eula.txt ``` 5. 运行容器前的目录结构示例如下 ``` bash drwxr-xr-x 2 1024 1024 6 Aug 21 15:00 config -rw-r--r-- 1 1024 1024 157 Aug 21 13:18 eula.txt drwxr-xr-x 2 1024 1024 6 Aug 21 15:00 logs drwxr-xr-x 2 1024 1024 6 Aug 21 15:00 plugins -rw-r--r-- 1 1024 1024 1285 Aug 21 14:23 server.properties drwxr-xr-x 2 1024 1024 23 Aug 21 15:03 world drwxr-xr-x 2 1024 1024 23 Aug 21 15:03 world_nether drwxr-xr-x 2 1024 1024 23 Aug 21 15:03 world_the_end ``` - `world` : Overworld目录 - `world_nether` : Nether目录 - `world_the_end` : End目录 - `config` : 配置文件目录 - `server.properties` : 服务端配置文件 - `eula.txt` : 授权校验文件 - `plugins` : 插件目录 - `logs` : 日志目录 6. 运行 Docker 容器 - 直接运行 ``` bash docker run --name 容器名称 -dit -p 服务端口号:25565 -v world目录:/opt/papermc/world -v world_nether目录:/opt/papermc/world_nether -v world_the_end目录:/opt/papermc/world_the_end -v config目录:/opt/papermc/config -v plugins目录:/opt/papermc/plugins -v logs目录:/opt/papermc/logs 镜像名称:镜像TAG ``` 示例: ```bash docker run --name papermc-server -dit -p 25565:25565 -v ./world:/opt/papermc/world -v ./world_nether:/opt/papermc/world_nether -v ./world_the_end:/opt/papermc/world_the_end -v ./config:/opt/papermc/config -v ./plugins:/opt/papermc/plugins -v ./logs:/opt/papermc/logs hty1024/papermc/paper:1.20.1-134-alpine ``` - Docker Compose 方式运行 请参考 example 目录内的 compose.yaml 文件
## OpenSSL 一个用于通用加密和安全通信的健壮的、商业级的、功能齐全的工具包。 **官方网站:** - 官网 : https://www.openssl.org - 项目地址 : https://github.com/openssl/openssl **目录说明:** - standard : 标准镜像构建目录 - alpine : 精简镜像构建目录 - example : 使用示例 **构建说明:** 1. 进入指定目录(standard 或 alpine) 2. 构建镜像 ``` bash docker build --no-cache -t 镜像名称:镜像TAG . ``` 示例: - 标准镜像(基于 openSUSE Leap 15.6) ``` bash docker build --no-cache -t hty1024/openssl:3.3.1 . ``` - 精简镜像(基于 AlpineLinux 3.20.0) ``` bash docker build --no-cache -t hty1024/openssl:3.3.1-alpine . ``` **使用方式:** - 直接运行 ``` bash docker run --name 容器名称 -dit -p 服务端口号:10080 -v ZIM文件目录:/data 镜像名称:镜像TAG ``` 示例: ```bash docker run --name openssl -dit hty1024/openssl:3.3.1 ``` ``` bash docker run --name openssl -dit hty1024/openssl:3.3.1-alpine ``` - Docker Compose 方式运行 请参考 example 目录内的 compose.yaml 文件