
outlyernet/losslesscut!Docker镜像版本(最新语义化版本) 或任何VNC客户端访问。
LosslessCut
无损视频/音频编辑瑞士军刀
注意:本快速开始中提供的Docker命令仅为示例,参数应根据您的需求调整。
使用以下命令启动LosslessCut Docker容器:
shelldocker run -d \ --name=losslesscut \ -p 5800:5800 \ -v /path/to/data/losslesscut:/config:rw \ -v $HOME:/storage:rw \ outlyernet/losslesscut
其中:
/path/to/data/losslesscut:应用程序存储所有持久数据的位置。$HOME:包含需要被应用程序访问的主机文件的位置。通过[***]访问LosslessCut GUI。
主机文件在容器中显示为/storage文件夹下的内容。
注意:更多文档请参见基础镜像。
shelldocker run [-d] \ --name=losslesscut \ [-e <变量名>=<值>]... \ [-v <主机目录>:<容器目录>[:权限]]... \ [-p <主机端口>:<容器端口>]... \ outlyernet/losslesscut
| 参数 | 描述 |
|---|---|
| -d | 在后台运行容器。如果未设置,容器在前台运行。 |
| -e | 向容器传递环境变量。详见环境变量部分。 |
| -v | 设置卷映射(允许在主机和容器之间共享文件夹/文件)。详见数据卷部分。 |
| -p | 设置网络端口映射(将容器内部端口暴露给主机)。详见端口部分。 |
要自定义容器的某些属性,可通过-e参数传递以下环境变量(每个变量一个-e)。参数值格式为<变量名>=<值>。
| 变量名 | 描述 | 默认值 |
|---|---|---|
USER_ID | 应用程序运行的用户ID。详见用户/组ID以了解何时需要设置。 | 1000 |
GROUP_ID | 应用程序运行的组ID。详见用户/组ID以了解何时需要设置。 | 1000 |
SUP_GROUP_IDS | 应用程序的补充组ID,以逗号分隔的列表。 | "" |
UMASK | 控制新创建文件权限的掩码。掩码值为八进制表示。默认umask值为0022,表示新创建的文件对所有人可读,但仅所有者可写。详见在线umask计算器:[***] | 0022 |
LANG | 设置区域设置),定义应用程序的语言(如果支持)。区域设置格式为语言[_地区][.字符集],其中语言为ISO 639语言代码,地区为ISO 3166国家代码,字符集如UTF-8。例如,使用UTF-8编码的澳大利亚英语为en_AU.UTF-8。 | en_US.UTF-8 |
TZ | 容器使用的时区。也可通过在主机和容器之间映射/etc/localtime来设置时区。 | Etc/UTC |
KEEP_APP_RUNNING | 设置为1时,应用程序崩溃或终止时将自动重启。 | 0 |
APP_NICENESS | 应用程序运行的优先级。nice值为-20时优先级最高,19时最低。默认nice值为0。注意:负nice值(提高优先级)需要额外权限。此时容器应使用--cap-add=SYS_NICE选项运行。 | 0 |
INSTALL_PACKAGES | 容器启动时要安装的包,以空格分隔的列表。包从容器基于的Linux发行版的仓库安装。注意:安装覆盖现有容器文件(如二进制文件)的包可能影响容器功能。 | "" |
CONTAINER_DEBUG | 设置为1以启用调试日志。 | 0 |
DISPLAY_WIDTH | 应用程序窗口宽度(像素)。 | 1920 |
DISPLAY_HEIGHT | 应用程序窗口高度(像素)。 | 1080 |
DARK_MODE | 设置为1时,启用应用程序的深色模式。 | 0 |
SECURE_CONNECTION | 设置为1时,使用加密连接访问应用程序GUI(通过Web浏览器或VNC客户端)。详见安全部分。 | 0 |
SECURE_CONNECTION_VNC_METHOD | 用于安全VNC连接的方法。可能值为SSL或TLS。详见安全部分。 | SSL |
SECURE_CONNECTION_CERTS_CHECK_INTERVAL | 系统验证Web或VNC证书是否更改的间隔(秒)。检测到更改时,受影响的服务将自动重启。值为0时禁用检查。 | 60 |
WEB_LISTENING_PORT | Web服务器用于提供应用程序UI的端口。此端口在容器内部使用,通常无需更改。默认情况下,容器使用默认桥接网络,要使内部端口可访问,需将其映射到外部端口(使用-p或--publish参数)。但如果容器使用其他网络类型,更改容器端口可能有助于避免与其他服务/容器冲突。注意:值为-1时禁用监听,即无法通过HTTP/HTTPS访问应用程序UI。 | 5800 |
VNC_LISTENING_PORT | VNC服务器用于提供应用程序UI的端口。此端口在容器内部使用,通常无需更改。默认情况下,容器使用默认桥接网络,要使内部端口可访问,需将其映射到外部端口(使用-p或--publish参数)。但如果容器使用其他网络类型,更改容器端口可能有助于避免与其他服务/容器冲突。注意:值为-1时禁用监听,即无法通过VNC访问应用程序UI。 | 5900 |
VNC_PASSWORD | 连接应用程序GUI所需的密码。详见VNC密码部分。 | "" |
ENABLE_CJK_FONT | 设置为1时,安装开源字体文泉驿正黑。该字体包含大量中/日/韩字符。 | 0 |
下表描述了容器使用的数据卷。通过-v参数设置映射,格式为<主机目录>:<容器目录>[:权限]。
| 容器路径 | 权限 | 描述 |
|---|---|---|
/config | rw | 应用程序存储配置、状态、日志和任何需要持久化的文件的位置。 |
/storage | rw | 包含需要被应用程序访问的主机文件的位置。 |
以下是容器使用的端口列表。可通过-p参数映射到主机(每个端口映射一个-p)。映射格式为<主机端口>:<容器端口>。容器内部端口不可更改,但可自由使用主机上的任何端口。
| 端口 | 主机映射 | 描述 |
|---|---|---|
| 5800 | 可选 | 通过Web界面访问应用程序GUI的端口。如果不需要Web界面访问,映射到主机是可选的。对于不使用默认桥接网络的容器,可通过WEB_LISTENING_PORT环境变量更改端口。 |
| 5900 | 可选 | 通过VNC协议访问应用程序GUI的端口。如果不需要VNC协议访问,映射到主机是可选的。对于不使用默认桥接网络的容器,可通过VNC_LISTENING_PORT环境变量更改端口。 |
环境变量、卷和端口映射都是在创建容器时指定的。
以下步骤描述了添加、删除或更新现有容器参数的方法。基本思路是销毁并重新创建容器:
docker stop losslesscut
docker rm losslesscut
docker run命令创建/启动容器,根据需要调整参数。注意:由于所有应用程序数据都保存在/config容器文件夹下,销毁并重新创建容器不会导致数据丢失,应用程序将恢复到相同状态(只要/config文件夹的映射保持不变)。
以下是可与Docker Compose一起使用的docker-compose.yml文件示例。
请根据需要调整。注意示例中仅包含必要的网络端口。
yamlversion: '3' services: losslesscut: image: outlyernet/losslesscut ports: - "5800:5800" # Web UI volumes: - "./losslesscut:/config:rw" - "$HOME:/storage:rw" environment: DARK_MODE: "1" SECURE_CONNECTION: "1"
每个Docker镜像版本使用语义化版本,与捆绑的LosslessCut版本匹配。还提供主版本和主.次版本的额外标签。如果镜像更新,将添加-v<数字>后缀表示新版本。
示例标签:
| 标签 | 解释 |
|---|---|
:latest | 始终指向最新镜像 |
:3.47.1 | LosslessCut v3.47.1版本 |
:3.47 | LosslessCut v3.47.x的最新镜像 |
:3 | LosslessCut v3.x.y的最新镜像 |
:3.47-v1 | LosslessCut v3.47.x的第一个镜像版本 |
使用数据卷(-v标志)时,主机和容器之间可能出现权限问题。例如,容器内的用户可能在主机上不存在,这可能导致主机无法正确访问共享卷上的文件和文件夹。
为避免问题,可指定应用程序运行的用户。通过USER_ID和GROUP_ID环境变量将用户ID和组ID传递给容器。
要查找主机上数据卷所有者的正确ID,在主机上执行以下命令:
shell$ id <用户名>
输出类似:
uid=1000(myuser) gid=1000(myuser) groups=1000(myuser),4(adm),24(cdrom),27(sudo),46(plugdev),113(lpadmin)
uid(用户ID)和gid(组ID)的值应提供给容器。
假设容器端口映射到主机的相同端口,可通过以下方式访问应用程序的图形界面:
http://<主机IP地址>:5800
<主机IP地址>:5900
默认情况下,应用程序GUI通过未加密连接(HTTP或VNC)访问。
可通过SECURE_CONNECTION环境变量启用安全连接。详见环境变量部分了解如何设置环境变量。
启用后,通过浏览器访问时应用程序GUI通过HTTPS连接进行,所有HTTP访问自动重定向到HTTPS。
使用VNC客户端时,VNC连接通过SSL进行。注意,少数VNC客户端支持此方法,SSVNC是其中之一。
以下是容器所需的加密证书文件。默认情况下,缺少证书时会生成并使用自签名证书。所有文件均为PEM编码的x509证书。
| 容器路径 | 用途 | 内容 |
|---|---|---|
/config/certs/vnc-server.pem | VNC连接加密。 | VNC服务器的私钥和证书,以及任何根证书和中间证书。 |
/config/certs/web-privkey.pem | HTTPS连接加密。 | Web服务器的私钥。 |
/config/certs/web-fullchain.pem | HTTPS连接加密。 | Web服务器的证书,以及任何根证书和中间证书。 |
注意:要避免浏览器或VNC客户端出现证书有效性警告/错误,请确保提供自己的有效证书。
注意:系统会监控证书文件,检测到更改时自动重启受影响的服务。
要限制对应用程序的访问,可指定密码。有两种方法:
VNC_PASSWORD环境变量。/config卷的根目录创建.vncpass_clear文件,文件中包含明文密码。容器启动时,文件内容将被加密并移动到.vncpass。VNC密码提供的安全级别取决于两点:
使用VNC密码时,强烈建议启用安全连接,以防止密码在未加密通道中明文传输。
注意:密码限制为8个字符。此限制来自远程帧缓冲协议RFC(见7.2.2节)。超过限制的任何字符将被忽略。
要获取运行中容器的Shell访问,执行以下命令:
shelldocker exec -ti CONTAINER sh
其中CONTAINER是创建容器时使用的ID或名称(例如losslesscut)。
容器使用遇到问题或有疑问?请创建新issue。
有关jlesage的其他Docker化应用程序,参见[***]
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务