ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Portainer 中文文档:部署

2020-04-03 09:05:01  阅读:1177  来源: 互联网

标签:中文 8000 Portainer 文档 portainer docker data 9000


Portainer 构建为可在 Docker 上运行,并且非常易于部署。除非另有说明,否则 Portainer 部署方案可以在任何平台上执行。

快速入门

如果您运行的是Linux,则部署Portainer的过程非常简单:

$ docker volume create portainer_data
$ docker run -d -p 9000:9000 -p 8000:8000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

现在,您现在可以通过访问运行 Portainer 的服务器上的端口 9000 来使用 Portainer 。

在 Swarm 集群内部

在 Swarm 集群中部署 Portainer 之前,应确保正确配置 Docker 和 Swarm 。您可以参考 疑难解答 部分,以确保您已正确配置环境。

按照上述步骤,您已经准备好使用我们推荐的启用代理的部署以在Swarm集群中部署 Portainer 。 注意:此设置将假定您正在 Swarm 管理器节点上执行以下指令。

$ curl -L https://downloads.portainer.io/portainer-agent-stack.yml -o portainer-agent-stack.yml
$ docker stack deploy --compose-file=portainer-agent-stack.yml portainer

查看 代理 部分,以查找有关如何将现有 Portainer 实例连接到手动部署的 Portainer 代理的更多详细信息。

持久化 Portainer 数据

默认情况下,Portainer 将其数据存储在Linux上的 /data 文件夹下(在Windows上是 C:\\data)。

在重新启动/升级 Portainer 容器之后,您需要保留 Portainer 数据以保留您的更改。您可以在 Linux 上使用绑定挂载来将数据持久保存在 Docker 主机文件夹中:

$ docker run -d -p 9000:9000 -p 8000:8000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /path/on/host/data:/data portainer/portainer

Windows

Docker for Windows 10 支持运行 Linux 和 Windows 容器,并且您需要根据所使用的容器类型使用不同的启动命令。Windows Server 仅支持本地 Windows 容器。

注意:在运行以下命令之前,必须创建要在其中保留数据的文件夹。例如,如果您希望数据保留在 C:\\ProgramData\Portainer 中,则需要在 C:\\ProgramData 中创建 Portainer 目录,因为默认情况下该目录不存在。

Linux容器示例:

$ docker run -d -p 9000:9000 -p 8000:8000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v C:\ProgramData\Portainer:/data portainer/portainer

本地 Windows 容器示例:

$ docker run -d -p 9000:9000 -p 8000:8000 --name portainer --restart always -v \\.\pipe\docker_engine:\\.\pipe\docker_engine -v C:\ProgramData\Portainer:C:\data portainer/portainer

Docker Swarm服务

如果你将为 Docker Swarm 服务部署 Portainer :

$ docker service create \
    --name portainer \
    --publish 9000:9000 \
    --publish 8000:8000 \
    --replicas=1 \
    --constraint 'node.role == manager' \
    --mount type=bind,src=//path/on/host/data,dst=/data \
    portainer/portainer

注意:Swarm 服务示例将为集群中的每个主机持久保存 Portainer 数据在 /path/on/host/data 中。如果将容器重新安排在另一个节点上,则现有的 Portainer 数据可能不可用。在 Swarm 集群的所有节点上持久存储数据不在本文档的讨论范围之内。

高级 Portainer 部署

高级 Portainer 部署方案。

声明要在部署时进行管理的Docker环境

您可以通过 CLI 指定您希望 Portainer 管理的初始环境 ,使用该 -H 选项 tcp:// 协议连接到远程 Docker 环境:

$ docker run -d -p 9000:9000 -p 8000:8000 --name portainer --restart always -v portainer_data:/data portainer/portainer -H tcp://<REMOTE_HOST>:<REMOTE_PORT>

请确保使用要管理的 Docker 服务器的地址/端口替换 REMOTE_HOSTREMOTE_PORT

您还可以绑定安装 Docker 套接字来管理本地 Docker 环境(仅在 Unix 套接字可用的环境中可用):

$ docker run -d -p 9000:9000 -p 8000:8000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer -H unix:///var/run/docker.sock

如果您的 Docker 环境受到 TLS 的保护,则需要确保您能够访问 CA ,用于访问 Docker 引擎的证书和公钥。

您可以通过 Portainer UI 上载所需的文件,也可以使用 CLI 上的 --tlsverify 选项。

Portainer 将尝试使用以下路径指向先前指定的文件(在Linux上,有关Windows的详细信息,请参阅配置部分):

  • CA:/certs/ca.pem
  • 证书:/certs/cert.pem
  • 公钥:/certs/key.pem

您必须确保这些文件在容器中使用 绑定安装:

$ docker run -d -p 9000:9000 -p 8000:8000 --name portainer --restart always  -v /path/to/certs:/certs -v portainer_data:/data portainer/portainer -H tcp://<DOCKER_HOST>:<DOCKER_PORT> --tlsverify

如果您想分别更改 CA 、证书和密钥文件的默认路径,也可以使用--tlscacert--tlscert--tlskey 选项:

$ docker run -d -p 9000:9000 -p 8000:8000 --name portainer -v /path/to/certs:/certs portainer/portainer -H tcp://<DOCKER_HOST>:<DOCKER_PORT> --tlsverify --tlscacert /certs/myCa.pem --tlscert /certs/myCert.pem --tlskey /certs/myKey.pem
$ docker run -d -p 9000:9000 -p 8000:8000 --name portainer --restart always  -v /path/to/certs:/certs -v portainer_data:/data portainer/portainer -H tcp://<DOCKER_HOST>:<DOCKER_PORT> --tlsverify --tlscacert /certs/myCa.pem --tlscert /certs/myCert.pem --tlskey /certs/myKey.pem

使用 SSL 保护 Portainer

默认情况下,Portainer 的 Web 界面和 API 通过 HTTP 公开。这是不安全的,建议在生产环境中启用 SSL 。

要做到这一点,你可以使用下面的选项 --ssl--sslcert 以及 --sslkey

$ docker run -d -p 443:9000 -p 8000:8000 --name portainer --restart always -v ~/local-certs:/certs -v portainer_data:/data portainer/portainer --ssl --sslcert /certs/portainer.crt --sslkey /certs/portainer.key

您可以使用以下命令来生成所需的文件:

$ openssl genrsa -out portainer.key 2048
$ openssl ecparam -genkey -name secp384r1 -out portainer.key
$ openssl req -new -x509 -sha256 -key portainer.key -out portainer.crt -days 3650

请注意,也可以使用 Certbot 生成证书和密钥。但是,由于 Docker 在 符号链接 方面存在问题,因此,如果您使用 Certbot ,则将需要将“live”和“archive”目录同时作为卷传递(如下所示)。

docker run -d -p 9000:9000 -p 8000:8000 \
        -v /var/run/docker.sock:/var/run/docker.sock \
        -v /root/portainer/data:/data \
        -v /etc/letsencrypt/live/<redacted>:/certs/live/<redacted>:ro \
        -v /etc/letsencrypt/archive/<redacted>:/certs/archive/<redacted>:ro \
        --name portainer \
        portainer/portainer:1.13.4 --ssl --sslcert /certs/live/<redacted>/cert.pem --sslkey /certs/live/<redacted>/privkey.pem

通过 docker-compose 部署 Portainer

您可以使用 docker-compose 部署Portainer。

这是一个示例 compose 文件:

version: '2'

services:
  portainer:
    image: portainer/portainer
    command: -H unix:///var/run/docker.sock
    restart: always
    ports:
      - 9000:9000
      - 8000:8000
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - portainer_data:/data

volumes:
  portainer_data:

单击此处 下载撰写文件。

无 docker 部署 Portainer

每个版本页面上都提供 Portainer 二进制文件:Portainer版本

下载二进制文件并将其解压缩到磁盘上的某个位置:

$ cd /opt
$ wget https://github.com/portainer/portainer/releases/download/1.23.2/portainer-1.23.2-linux-amd64.tar.gz
$ tar xvpfz portainer-1.23.2-linux-amd64.tar.gz

然后,只需使用 portainer 二进制文件,就像在 Docker 中使用 CLI 标志一样即可。

注意:默认情况下,Portainer 会尝试将其数据写入 /data 文件夹。您必须首先确保此文件夹存在(或通过更改其使用的路径 --data ,请参见下文)。

$ mkdir /data
$ cd /opt/portainer
$ ./portainer --template-file "${PWD}/templates.json"

您可以使用该 -p 选项在另一个端口上提供 Portainer :

$ ./portainer -p :8080

您可以更改 Portainer 用来存储其数据的文件夹,使用 --data 选项:

$ ./portainer --data /opt/portainer-data

[译自 Portainer 官方文档:部署 ]

标签:中文,8000,Portainer,文档,portainer,docker,data,9000
来源: https://www.cnblogs.com/Yogile/p/12624404.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有