Linux
在 64 位 Linux 主机上安装 Docker Engine 和 Docker Compose,然后启动 Vyline。
前提
Vyline 发布 linux/amd64 与 linux/arm64 container image。只要 Docker Engine 和 Compose v2 正常,Vyline 本身的启动步骤在不同发行版上相同。
uname -m
docker version
docker compose version
安装 Docker
| 环境 | Docker 来源 | 服务管理 |
|---|---|---|
| Debian / Ubuntu | Docker 官方 APT repository | systemd |
| Fedora / RHEL / CentOS 系 | Docker 官方 RPM repository | systemd |
| Arch Linux | 发行版 package | systemd |
| openSUSE | 发行版 package | systemd |
| Alpine Linux | apk package | OpenRC |
| NAS / appliance | 使用产品自身的 container 功能 | 产品特定 |
下面分别给出 Docker Engine、Buildx 和 Compose v2 的安装方法。主机已经在运行 Docker 时,不要删除已有 data-root 或 package;先确认 docker version 与 docker compose version。
启动 Vyline
docker version
docker compose version
docker run --rm hello-world
mkdir -p ~/vyline && cd ~/vyline
curl -LO https://raw.githubusercontent.com/tqmane/vyline/main/docker-compose.yml
docker compose pull
docker compose up -d
Debian / Ubuntu
注册 Docker CE 的 APT repository。Ubuntu 与 Debian 的 repository URL 和 codename 获取方式稍有不同,因此从 /etc/os-release 判断。
. /etc/os-release
case "$ID" in
ubuntu) DOCKER_DISTRO=ubuntu; DOCKER_SUITE="${UBUNTU_CODENAME:-$VERSION_CODENAME}" ;;
debian) DOCKER_DISTRO=debian; DOCKER_SUITE="$VERSION_CODENAME" ;;
*) echo "This procedure supports Ubuntu/Debian: $ID"; exit 1 ;;
esac
sudo apt update
sudo apt install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL "https://download.docker.com/linux/$DOCKER_DISTRO/gpg" \
-o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
printf 'Types: deb\nURIs: https://download.docker.com/linux/%s\nSuites: %s\nComponents: stable\nArchitectures: %s\nSigned-By: /etc/apt/keyrings/docker.asc\n' \
"$DOCKER_DISTRO" "$DOCKER_SUITE" "$(dpkg --print-architecture)" \
| sudo tee /etc/apt/sources.list.d/docker.sources >/dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl enable --now docker
sudo docker run --rm hello-world
sudo docker compose versionUbuntu/Debian 派生发行版可能使用不同 codename 或 repository 兼容规则。如果系统不匹配上面的 ID,不要强行注册 Ubuntu/Debian repository,应使用该发行版自身的 Docker package 指南。
Fedora / RHEL / CentOS Stream / Rocky / Alma
Fedora
当前 Fedora 的 Docker repository 可用 dnf config-manager addrepo --from-repofile 注册。
sudo dnf -y install dnf-plugins-core
sudo dnf config-manager addrepo --from-repofile https://download.docker.com/linux/fedora/docker-ce.repo
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl enable --now docker
sudo docker run --rm hello-world
sudo docker compose version
RHEL
sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl enable --now docker
sudo docker run --rm hello-world
sudo docker compose version
CentOS Stream
sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl enable --now docker
sudo docker run --rm hello-world
sudo docker compose version
Rocky Linux / AlmaLinux
它们与 Docker 直接验证的 RHEL 本身是不同发行版。先确认操作系统/厂商的 container 方针;如果选择 Docker CE,请使用与对应 RHEL 兼容 release 相符的 repository,并在安装后实际运行 container 验证。
sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl enable --now docker
sudo docker run --rm hello-world
sudo docker compose version安装过程中不要关闭 SELinux。只有出现 deny 时,再检查 audit log 和 volume label。
Arch Linux 系
sudo pacman -Syu docker docker-compose
sudo systemctl enable --now docker
sudo docker run --rm hello-world
sudo docker compose versionArch rolling update 可能同时更新 kernel、containerd 与 runc。较大升级后检查 systemctl status docker、docker info 与 Vyline health。
openSUSE
sudo zypper install docker docker-compose
sudo systemctl enable --now docker
sudo docker run --rm hello-world
sudo docker compose version不同 release 提供的 Compose package 名称和版本可能不同。如果 docker compose version 不可用,请用 zypper search docker-compose 查找当前 repository 中的 Compose v2 package。
Alpine Linux
docker 与 docker-cli-compose 从 community repository 安装。如果 community 未启用,先启用当前 release 同一 branch 的 community repository。
sudo apk add docker docker-cli-compose
sudo rc-update add docker default
sudo service docker startsudo docker run --rm hello-world
sudo docker compose version
rc-statusVyline 的 Bun runtime 已包含在 container image 中。Host 侧只需满足 Docker daemon 与 kernel 要求。
Firewall / SELinux / AppArmor
- UFW / firewalld:只有 LAN 客户端需要访问 3000/tcp 时才开放必要范围。
- SELinux:Vyline 不要求关闭。
- AppArmor:只有出现与 Docker 或 Vyline 相关的 deny log 时才检查 profile。
- Vyline:
VYLINE_LAN_ACCESS=false为默认值。端口开放不代表允许未认证 remote access。
Rootless Docker
仓库没有 rootless Docker 专用配置或验证。本 Docs 以普通 Docker Engine 为前提。若使用 rootless,请另外确认 bind mount ownership、port publish 与 daemon 自动启动。