zoukankan      html  css  js  c++  java
  • Portainer 中文文档:部署

    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:\ProgramDataPortainer 中,则需要在 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:ProgramDataPortainer:/data portainer/portainer
    

    本地 Windows 容器示例:

    $ docker run -d -p 9000:9000 -p 8000:8000 --name portainer --restart always -v \.pipedocker_engine:\.pipedocker_engine -v C:ProgramDataPortainer: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 官方文档:部署 ]

  • 相关阅读:
    TFS 2010安装指南
    让C#事件也可以异步触发
    Automated BuildDeployTest using TFS 2010
    BLEND + SKETCHFLOW PREVIEW FOR VISUAL STUDIO 2012
    The trust relationship between this workstation and the primary domain failed
    微软发布官方TFS 2010 Scrum 模板
    Visual Studio 2012 New Features: Compatibility (aka Project RoundTripping)
    Hibernate 的<generator class="native"></generator>的不同属性含义
    WDS桥接和WDS中继的区别
    Upgrading TFS 2010 to TFS 2012 RC,tfs2010升级2012
  • 原文地址:https://www.cnblogs.com/Yogile/p/12624404.html
Copyright © 2011-2022 走看看