Vyline DOCS

Linux

64-bit LinuxホストでDocker EngineとDocker Composeを用意し、Vylineを起動します。

前提

Vylineの公開containerはlinux/amd64linux/arm64をbuildしています。Docker EngineとCompose v2が動けば、Vyline側の起動手順は共通です。

uname -m
docker version
docker compose version

Dockerの導入

環境Dockerの入れ方サービス管理
Debian / UbuntuDocker公式APT repositorysystemd
Fedora / RHEL / CentOS系Docker公式RPM repositorysystemd
Arch Linuxdistribution packagesystemd
openSUSEdistribution packagesystemd
Alpine Linuxapk packageOpenRC
NAS / appliance製品のcontainer機能に従う製品固有

以下は各環境でDocker Engine、Buildx、Compose v2まで用意する手順です。既にDockerを運用しているhostでは、既存のdata-rootやpackageを消さず、まずdocker versiondocker 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 "この手順の対象は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 version

Ubuntu/Debian派生distributionではcodenameやrepository互換性が異なる場合があります。上のID判定に入らないOSへUbuntu/Debianのrepositoryを無理に登録せず、そのdistribution自身の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そのものとは別distributionなので、まずOS標準/ベンダー側のcontainer方針を確認してください。Docker CEを使う場合はRHEL互換releaseに対応するrepositoryを使い、install後に必ず実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 version

Arch系はrolling updateでkernel/containerd/runcも同時に変わるため、大きな更新後はsystemctl status dockerdocker 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の提供名やversionが異なるため、docker compose versionが通らない場合はzypper search docker-composeで現在のrepositoryにあるCompose v2 packageを確認します。

Alpine Linux

dockerdocker-cli-composeはcommunity repositoryから導入します。communityが無効なら、使用中releaseと同じbranchのcommunityを先に有効化します。

sudo apk add docker docker-cli-compose
sudo rc-update add docker default
sudo service docker start
sudo docker run --rm hello-world
sudo docker compose version
rc-status

VylineのBun runtimeはcontainer image内に含まれます。Host側ではDocker daemonとkernelの要件を満たす必要があります。

Firewall / SELinux / AppArmor

Rootless Docker

リポジトリにはrootless Docker専用の設定や検証はありません。このDocsは通常のDocker Engineを前提にします。rootlessで使う場合はbind mountの所有権、port publish、daemonの自動起動を別途確認してください。

ページ名・設定名・コマンドで検索