简介

Portainer 是一款轻量级的应用,它提供了图形化界面,用于方便地管理Docker环境,包括单机环境和集群环境。

安装

直接使用Docker来安装Portainer是非常方便的,仅需要两步即可完成。

  • 搜索相关Portainer镜像,以免错过更好的第三方镜像
1
docker search portainer
  • 首先下载Portainer的Docker镜像;
1
docker pull portainer/portainer
  • 然后再使用如下命令运行Portainer容器;
1
2
3
4
5
6
7
mkdir -p /root/portainer/data

docker run -p 9000:9000 -p 8000:8000 --name portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /root/portainer/data:/data \
-d 6053537/portainer-ce

隐藏特定容器

Portainer 允许您使用-l标志隐藏带有特定标签的容器。

例如,拿一个以标签 owner=acme 开头的容器(注意这是一个示例标签,可以定义自己的标签):

1
docker run -d --label owner=acme nginx

要隐藏此容器,只需-l owner=acme在启动 Portainer 时在 CLI 上添加选项:

1
docker run -d -p 9000:9000 -p 8000:8000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer-ce -l owner=acme

请注意,-l 标志可以重复多次以指定多个标签:

1
2
3
4
5
docker run -d -p 9000:9000 -p 8000:8000 --name portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /root/portainer/data:/data \
portainer/portainer-ce -l owner=acme -l service=secret

如果您=想用您自己的logo替换默认logo,则可以使用以下命令指定外部logo(必须正好是 155 像素 x 55 像素)--logo flag:

1
2
3
4
5
docker run -d -p 9000:9000 -p 8000:8000 --name portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /root/portainer/data:/data \
portainer/portainer-ce --logo "https://www.docker.com/sites/all/themes/docker/assets/images/brand-full.svg"

这也可以通过 Portainer 设置菜单中的 GUI 进行更新。

使用自定义的模板

Portainer 允许使用应用程序模板快速部署容器。

默认情况下将使用 Portainer 模板,但也可以定义自己的模板。

注意:目前,模板仅在第一次 Portainer 启动时加载一次。如果已经部署了 Portainer 实例并希望在此之后使用自定义的模板,则需要通过用户界面或 HTTP API 清除任何现有模板(默认模板)。

使用该--templates,可以指定可以通过 HTTP 访问模板文件的 URL。

1
2
3
4
5
docker run -d -p 9000:9000 -p 8000:8000 --name portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /root/portainer/data:/data \
portainer/portainer-ce --templates http://my-host.my-domain/templates.json

模板文件必须无需身份验证即可从 Portainer 访问。我们建议在Github上托管模板文件。

可用flag

以下 CLI flag可用:

--admin-password: 为 admin 用户指定一个 bcrypt 散列密码

--admin-password-file: 包含管理员用户密码的文件路径

--bind, -p: 服务 Portainer 的地址和端口 (默认: :9000)

--data, -d: Portainer 数据的存储目录(默认:Linux 上的 /data,Windows 上的 C:\data)

--edge-compute:自动启用边缘计算功能

--hide-label, -l:在 UI 中隐藏带有特定标签的容器

--host, -H: Docker 守护进程端点

--logo:要在 UI 中显示为徽标的图像的 URL。如果未指定,则使用 Portainer logo

--snapshot-interval:表示为字符串的两个端点快照作业之间的时间间隔,例如 30s、5m、1h... 由 time.ParseDuration 方法支持(默认值:5m)

--ssl:使用 SSL 的安全 Portainer 实例(默认值:false)

--sslcert:用于保护 Portainer 实例的 SSL 证书的路径(默认:/certs/portiner.crt,Windows 上为 C:\certs\portiner.crt)

--sslkey:用于保护 Portainer 实例的 SSL 密钥的路径(默认:/certs/portainer.key,C:\certs\portainer.key 在 Windows 上)

--templates, -t:模板(应用程序)定义的 URL

--tlscacert:CA 路径(默认:Linux 上的 /certs/ca.pem,Windows 上的 C:\certs\ca.pem)

--tlscert:TLS 证书文件的路径(默认:/certs/cert.pem,Windows 上为 C:\certs\cert.pem)

--tlskey:TLS 密钥的路径(默认:/certs/key.pem,Windows 上为 C:\certs\key.pem)

--tlsverify: TLS 支持 (默认: false)

--tunnel-port:指定与 Edge 代理一起使用的备用tunnel端口。使用 --tunnel-port 8001 和 -p 8001:8001 使 Edge 代理在端口 8001 上通信