240 lines
11 KiB
Markdown
240 lines
11 KiB
Markdown
The [LinuxServer.io](https://linuxserver.io/) 团队为您带来了另一个容器发布,包含:
|
||
|
||
* 定期且及时的应用更新
|
||
* 简单的用户映射(PGID, PUID)
|
||
* 自定义基础镜像,带有 s6 覆盖
|
||
* 每周为基础操作系统进行更新,并在整个 LinuxServer.io 生态系统中使用共同的层,以最小化空间使用、停机时间和带宽
|
||
* 常规安全更新
|
||
|
||
访问我们:
|
||
|
||
* \[Blog\] - 有关我们容器的所有功能,包括使用指南、观点等内容!
|
||
* [Discord](https://discord.gg/YWrKVTn) - 实时支持/与社区和团队进行聊天。
|
||
* [Discourse](https://discourse.linuxserver.io/) - 在我们的社区论坛发帖。
|
||
* [Fleet](https://fleet.linuxserver.io/) - 一个在线的网页界面,显示我们维护的所有镜像。
|
||
* [GitHub](https://github.com/linuxserver) - 查看我们所有仓库的源代码。
|
||
* [Open Collective](https://opencollective.com/linuxserver) - 请考虑通过捐赠或资助我们的预算来帮助我们
|
||
|
||
[WPS Office](https://www.wps.com/) 是一款轻量、功能丰富且兼容性高的综合办公套件。作为一款便捷且专业的办公软件,WPS Office 允许你在 Writer、Presentation、Spreadsheet 和 PDF 中编辑文件,从而提高工作效率。
|
||
|
||
[](https://www.wps.com/)
|
||
|
||
## 支持的架构
|
||
|
||
我们利用 docker manifest 来实现多平台支持。更多详细信息请参阅 docker [这里](https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-2.md#manifest-list) 和 我们的公告 [这里](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/) 。
|
||
|
||
简单地拉取 `lscr.io/linuxserver/wps-office:latest` 应该会获取到正确的架构图像,但你也可以通过标签拉取特定的架构图像。
|
||
|
||
此图像支持的架构有:
|
||
|
||
| 架构 | 可用 | Tag |
|
||
| --- | --- | --- |
|
||
| x86-64 | ✅ | amd64-<版本标签> |
|
||
| arm64 | ❌ | |
|
||
| armhf | ❌ | |
|
||
|
||
## 应用设置
|
||
|
||
应用可通过以下地址访问:
|
||
|
||
* [http://yourhost:3000/](http://yourhost:3000/)
|
||
* [https://yourhost:3001/](https://yourhost:3001/)
|
||
|
||
### KasmVNC 基础的 GUI 容器中的选项
|
||
|
||
此容器基于 [Docker Baseimage KasmVNC](https://github.com/linuxserver/docker-baseimage-kasmvnc),这意味着存在额外的环境变量和运行配置,可以启用或禁用特定功能。
|
||
|
||
#### 可选的环境变量
|
||
|
||
| 变量 | 描述 |
|
||
| --- | --- |
|
||
| CUSTOM\_PORT | 容器监听的内部端口,用于 http,如果需要从默认的 3000 端口更改。 |
|
||
| CUSTOM\_HTTPS\_PORT | 容器监听的内部端口,用于 https,如果需要从默认的 3001 端口更改。 |
|
||
| CUSTOM\_USER | HTTP 基本认证用户名,默认为 abc。 |
|
||
| PASSWORD | HTTP 基本认证密码,默认为 abc。如果未设置,则无需认证。 |
|
||
| SUBFOLDER | 如果运行子文件夹反向代理,则需要在应用中创建一个子文件夹,例如 \`/subfolder/\`。 |
|
||
| TITLE | 网页浏览器中显示的页面标题,默认为“KasmVNC 客户端”。 |
|
||
| FM\_HOME | 这是文件管理器的主目录(起始目录),默认为 \`/config\`。 |
|
||
| START\_DOCKER | 如果设置为 false,则不会自动启动 DinD Docker 环境。 |
|
||
| DRINODE | 如果在 /dev/dri 挂载以启用 DRI3 GPU 加速 ,你可以指定要使用的设备,例如 /dev/dri/renderD128 |
|
||
|
||
#### 可选运行配置
|
||
|
||
| 变量 | 描述 |
|
||
| --- | --- |
|
||
| \--privileged | 将在容器内部启动一个 Docker 在 Docker (DinD) 设置,以便在隔离环境中使用 Docker。为了提高性能,请将 Docker 目录挂载到主机上,例如 -v /home/user/docker-data:/var/lib/docker |
|
||
| \-v /var/run/docker.sock:/var/run/docker.sock | 在主机级别挂载 Docker 套接字,以便通过命令行界面与之交互或使用 Docker 启动的应用程序。 |
|
||
| \--device /dev/dri:/dev/dri | 将 GPU 挂载到容器中,可以与 DRINODE 环境变量结合使用,以利用主机的显卡进行 GPU 加速的应用程序。仅支持开源驱动程序(如 Intel、AMDGPU、Radeon、ATI、Nouveau) |
|
||
|
||
### 无损模式
|
||
|
||
此容器可以通过将 Stream Quality 预设更改为“无损”模式,在高帧率下将真正的无损图像传输到您的网络浏览器。更多信息请参阅 [此处](https://www.kasmweb.com/docs/latest/how_to/lossless.html#technical-background) 。要从非本地主机端点使用此模式,需要使用 3001 端口的 HTTPS。如果通过反向代理访问端口 3000,则需要设置特定的标头,具体请参阅 [此处](https://github.com/linuxserver/docker-baseimage-kasmvnc#lossless) 。
|
||
|
||
## 使用方法
|
||
|
||
以下是一些示例片段,帮助你开始创建容器。
|
||
|
||
### docker-compose(推荐,\[点击这里获取更多信息\](#0))
|
||
|
||
```
|
||
---
|
||
version: "2.1"
|
||
services:
|
||
wps-office:
|
||
image: lscr.io/linuxserver/wps-office:latest
|
||
container_name: wps-office
|
||
security_opt:
|
||
- seccomp:unconfined #optional
|
||
environment:
|
||
- PUID=1000
|
||
- PGID=1000
|
||
- TZ=Etc/UTC
|
||
volumes:
|
||
- /path/to/config:/config
|
||
ports:
|
||
- 3000:3000
|
||
- 3001:3001
|
||
shm_size: "1gb"
|
||
restart: unless-stopped
|
||
```
|
||
|
||
### docker cli(\[点击这里获取更多信息\](#0))
|
||
|
||
```
|
||
docker run -d \
|
||
--name=wps-office \
|
||
--security-opt seccomp=unconfined `#optional` \
|
||
-e PUID=1000 \
|
||
-e PGID=1000 \
|
||
-e TZ=Etc/UTC \
|
||
-p 3000:3000 \
|
||
-p 3001:3001 \
|
||
-v /path/to/config:/config \
|
||
--shm-size="1gb" \
|
||
--restart unless-stopped \
|
||
lscr.io/linuxserver/wps-office:latest
|
||
```
|
||
|
||
## 参数
|
||
|
||
容器镜像通过在运行时传递参数(如上文所示)进行配置。这些参数通过冒号分隔,分别表示外部和内部。例如,\`-p 8080:80\` 会将容器内部的端口 \`80\` 映射到主机的 IP 地址上的端口 \`8080\`。
|
||
|
||
| 参数 | 功能 |
|
||
| --- | --- |
|
||
| \-p 3000 | WPS Office 桌面界面。 |
|
||
| \-p 3001 | WPS Office 桌面界面 HTTPS。 |
|
||
| \-e PUID=1000 | for UserID - 请参见下方说明 |
|
||
| \-e PGID=1000 | for GroupID - 请参见下方说明 |
|
||
| \-e TZ=Etc/UTC | 指定要使用的时区,参见此 列表 。 |
|
||
| \-v /config | 容器中的用户主目录,用于存储程序设置和文档 |
|
||
| \--shm-size= | 这对于电子应用程序的正常运行是必需的。 |
|
||
| \--security-opt seccomp=unconfined | 仅对 Docker 引擎而言,许多现代的 GUI 应用在较旧的主机上运行时需要此设置,因为 Docker 不认识这些系统调用。 |
|
||
|
||
## 环境变量从文件(Docker 秘钥)
|
||
|
||
你可以通过使用一个特殊的前缀 \``FILE__`\` 来从文件中设置任何环境变量。
|
||
|
||
例如:
|
||
|
||
```
|
||
-e FILE__PASSWORD=/run/secrets/mysecretpassword
|
||
```
|
||
|
||
将根据 \`/run/secrets/mysecretpassword\` 文件的内容设置环境变量 \``PASSWORD`\`。
|
||
|
||
## 运行应用程序的 umask
|
||
|
||
对于所有图像,我们提供了使用可选的 \`-e UMASK=022\` 设置来覆盖容器内启动的服务的默认 umask 设置的能力。请注意,umask 不是 chmod,它的值会从权限中减去,而不是增加。在请求支持之前,请先阅读 [这里](https://en.wikipedia.org/wiki/Umask) 。
|
||
|
||
## 用户 / 组标识符
|
||
|
||
使用卷(-v 标志)时,可能会在主机操作系统和容器之间出现权限问题,我们通过允许您指定用户 PUID 和组 PGID 来避免这个问题。
|
||
|
||
确保主机上的任何卷目录由您指定的同一用户拥有,任何权限问题都会神奇地消失。
|
||
|
||
在这个实例中 `PUID=1000` 和 `PGID=1000`,要找到你的值,请使用 `id user`,如下所示:
|
||
|
||
```
|
||
$ id username
|
||
uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)
|
||
```
|
||
|
||
## Docker Mods
|
||
|
||
我们发布了各种 [Docker Mods](https://github.com/linuxserver/docker-mods) 以在容器中启用额外的功能。此镜像可用的 Mods 列表(如果有)以及可以应用于我们任何镜像的通用 Mods 可通过上方的动态徽章访问。
|
||
|
||
## 支持信息
|
||
|
||
* 在容器运行时访问 Shell: `docker exec -it wps-office /bin/bash`
|
||
* 实时监控容器的日志:`docker logs -f wps-office`
|
||
* 容器版本号
|
||
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' wps-office`
|
||
* image 版本号
|
||
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/wps-office:latest`
|
||
|
||
## 更新信息
|
||
|
||
我们的大多数镜像都是静态的、版本化的,需要更新镜像并重新创建容器才能更新应用程序。除了少数例外(例如 nextcloud、plex),我们不建议或支持在容器内部更新应用程序。请参阅上方的[应用程序设置](#application-setup)部分,查看该镜像是否推荐进行更新。
|
||
|
||
以下是更新容器的步骤:
|
||
|
||
### 通过 Docker Compose
|
||
|
||
* 更新所有镜像:`docker-compose pull`
|
||
* 或更新单个镜像: `docker-compose pull wps-office`
|
||
* 让 Compose 更新所有必要的容器:`docker-compose up -d`
|
||
* 或更新单个容器: `docker-compose up -d wps-office`
|
||
* 你也可以移除旧的孤立镜像:\`docker image prune\`
|
||
|
||
### 通过 Docker Run
|
||
|
||
* 更新镜像: `docker pull lscr.io/linuxserver/wps-office:latest`
|
||
* 停止运行中的容器:`docker stop wps-office`
|
||
* 删除容器:`docker rm wps-office`
|
||
* 使用相同的 \`docker run\` 参数重新创建一个新的容器(如果正确映射到主机文件夹,您的 `/config` 文件夹和设置将被保留)
|
||
* 你也可以移除旧的孤立镜像:\`docker image prune\`
|
||
|
||
### 通过 Watchtower 自动更新程序(仅在您不记得原始参数时使用)
|
||
|
||
* 拉取最新标签的镜像并在一次运行中用相同的环境变量替换它:
|
||
|
||
```
|
||
docker run --rm \
|
||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||
containrrr/watchtower \
|
||
--run-once wps-office
|
||
```
|
||
|
||
* 你也可以移除旧的孤立镜像:\`docker image prune\`
|
||
|
||
|
||
\*\*注意\*\*:我们不推荐使用 Watchtower 来自动化现有 Docker 容器的更新。实际上,我们一般不建议自动化更新。然而,这个工具对于一次性手动更新忘记原始参数的容器是有用的。从长远来看,我们强烈建议使用 Docker Compose。
|
||
|
||
### 镜像更新通知 - Diun(Docker Image Update Notifier)
|
||
|
||
* 我们推荐使用 [Diun](https://crazymax.dev/diun/) 获取更新通知。其他在无人干预的情况下自动更新容器的工具不被推荐或支持。
|
||
|
||
## 本地构建
|
||
|
||
如果您为了开发目的或只是自定义逻辑而对这些镜像进行本地修改:
|
||
|
||
```
|
||
git clone https://github.com/linuxserver/docker-wps-office.git
|
||
cd docker-wps-office
|
||
docker build \
|
||
--no-cache \
|
||
--pull \
|
||
-t lscr.io/linuxserver/wps-office:latest .
|
||
```
|
||
|
||
在 x86\_64 硬件上可以使用 `multiarch/qemu-user-static` 构建 ARM 变体。
|
||
|
||
```
|
||
docker run --rm --privileged multiarch/qemu-user-static:register --reset
|
||
```
|
||
|
||
注册后,您可以使用 `-f Dockerfile.aarch64` 定义要使用的 Dockerfile。
|
||
|
||
## 版本
|
||
|
||
* **21.04.23:** - 初始发布。 |