安装容器 Web 面板 —— Portainer

安装容器 Web 面板 —— Portainer

Portainer,用来管理容器的 Web 面板。

Podman 相关内容参考:podman support - github
我修改了一些细节,比如将 --restart=always 换为推荐的 --restart always,将 ${HOME} 换为所有 Shell 都支持的 "$HOME",等等。

更新:2.22 之后官方添加了正式的 Podman 支持,文档地址,这是个非 LTS 版本。
文档还是有些细节问题,下面的我就不更新了。而且文档中的方法相当完全放弃了 podman rootless 用户,虽然我在 rootless 情况下(桌面环境中)也不用它😄。

portainer-ce

docker

docker volume create portainer_data
docker run -d -p 9443:9443 \
    --name portainer \
    --restart always \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v portainer_data:/data \
    portainer/portainer-ce:alpine

podman root

podman volume create portainer_data
podman run -d -p 9443:9443 \
    --name portainer \
    --restart always \
    -v /run/podman/podman.sock:/var/run/docker.sock \
    -v portainer_data:/data \
    portainer/portainer-ce:alpine

podman rootless

systemctl --user enable --now podman.socket
podman volume create portainer_data
podman run -d -p 9443:9443 \
    --name portainer \
    --restart always \
    --security-opt label=disable \
    -v /run/user/$(id -u)/podman/podman.sock:/var/run/docker.sock \
    -v portainer_data:/data \
    portainer/portainer-ce:alpine

portainer-agent

docker

docker run -d -p 9001:9001 \
    --name portainer_agent \
    --restart always \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v /var/lib/docker/volumes:/var/lib/docker/volumes \
    -v /:/host \
    portainer/agent:alpine

podman root

mkdir -p /var/lib/containers/storage/volumes
podman run -d -p 9001:9001 \
    --name portainer_agent \
    --restart always \
    -v /run/podman/podman.sock:/var/run/docker.sock \
    -v /var/lib/containers/storage/volumes:/var/lib/docker/volumes \
    -v /:/host \
    portainer/agent:alpine

podman rootless

systemctl --user enable --now podman.socket
podman run -d -p 9001:9001 \
    --name portainer_agent \
    --security-opt label=disable \
    --restart always \
    -v /run/user/$(id -u)/podman/podman.sock:/var/run/docker.sock \
    -v "$HOME"/.local/share/containers/storage/volumes:/var/lib/docker/volumes \
    -v /:/host \
    portainer/agent:alpine