zoukankan      html  css  js  c++  java
  • docker 部署 portainer(http)

    ===============================================

    2019/4/30_第6次修改                       ccb_warlock

     

    更新说明:

    2019/4/30:修改了local英文拼写错误的问题;

    2019/4/16:修改了2.1创建目录不正确的问题;

    2019/4/10:调整了docker、docker compose的部署方法的引用;

    2019/4/6:优化了run、compose、stack的部署方式;

    2018/8/3:删除2.1中无用的目录创建命令;

                   对2.2.2中对容器的资源限制进行扩容;

    ===============================================

    部署完swarm(http://www.cnblogs.com/straycats/p/8978135.html)之后,寻找可以管理swarm的web系统方便管理,经过使用portainer可以满足对swarm的基本管理,而且该项目github上的收藏也较多。

      


    一、前提

     


    二、部署portainer

    2.1 创建目录

    mkdir -p /opt/compose/portainer
    mkdir -p /usr/docker-vol/portainer/data

     PS.由于方便持久化文件定位,这里使用目录映射而不是卷映射来做数据持久化

    2.2 创建网络

    # 本地用的network

    docker network create 
      --driver=bridge 
      --subnet=172.11.0.0/16 
      --ip-range=172.11.0.0/16 
      --gateway=172.11.0.1 
      --attachable 
      local-net

    # swarm用的network

    docker network create 
      --driver=overlay 
      --subnet=172.12.0.0/16 
      --ip-range=172.12.0.0/16 
      --gateway=172.12.0.1 
      --attachable 
      swarm-net

      

    2.3 创建portainer容器

    2.3.1 run方式

    # 创建容器portainer

    docker run -d 
      --name portainer 
      -v /var/run/docker.sock:/var/run/docker.sock 
      -v /usr/docker-vol/portainer/data:/data 
      -p 9000:9000 
      --network local-net 
      --cpus 0.5 
      --memory 200M 
      --restart on-failure 
      portainer/portainer

    PS.如果需要移除该容器,可以使用命令

    docker stop portainer
    docker rm portainer

    2.3.2 compose方式

    # 编辑docker-compose.yml

    vi /opt/compose/portainer/docker-compose.yml

    将下面的内容添加到docker-compose.yml内,wq保存。

    version: '3'
    services:
    
      portainer:
        image: portainer/portainer
        volumes:
          - /var/run/docker.sock:/var/run/docker.sock
          - /usr/docker-vol/portainer/data:/data
        ports:
          - 9000:9000
        networks:
          - local-net
    
    networks:
      local-net:
        external: true

    # 创建容器portainer

    cd /opt/compose/portainer
    docker-compose up -d

    PS.如果需要移除该compose文件创建的所有容器,可以使用命令

    cd /opt/compose/portainer
    docker-compose down

    2.3.3 stack方式

    # 编辑portainer-stack.yml

    vi /opt/compose/portainer/portainer-stack.yml

    将下面的内容添加到portainer-stack.yml内,wq保存。

    version: '3.4'
    services:
    
      portainer:
        image: portainer/portainer
        volumes:
          - /var/run/docker.sock:/var/run/docker.sock
          - /usr/docker-vol/portainer/data:/data
        deploy:
          placement:
            constraints: [node.role == manager]
          replicas: 1
          restart_policy:
            condition: on-failure
          resources:
            limits:
              cpus: "0.5"
              memory: 200M
          update_config:
            parallelism: 1
            delay: 5s
            monitor: 10s
            max_failure_ratio: 0.1
            order: start-first
        ports:
          - 9000:9000
        networks:
          - swarm-net
    
    networks:
      swarm-net:
        external: true

    # 创建portainer-stack

    cd /opt/compose/portainer
    docker stack deploy -c portainer-stack.yml portainer-stack

    PS.如果需要移除该stack创建的所有service,可以使用命令

    docker stack rm portainer-stack

    三、配置portainer

    3.1 访问页面

    浏览器访问 https://192.168.12.11:9000

    填写8位以上密码,创建管理员用户。进入系统后可以再修改8位以内的密码。(某个版本更新后改成了8位以上的要求,坑啊)

    选择“Local”,点击“Connect”。

     

    3.2 添加镜像仓库

    为了方便部署,swarm可以通过portainer的stacks来部署容器,故需要配置需要拉取的镜像仓库。

     

    左侧导航栏选择“Registries”,点击“Add registry”,填写镜像仓库的名称、URL、管理员的账号/密码。




    由于拉取的仓库是我内部搭建的私有仓库,故选择“Custom registry”,填写仓库信息。

     


    参考资料:

    1.https://www.portainer.io/installation/

     

     

  • 相关阅读:
    Java开发之富文本编辑器TinyMCE
    将博客搬至CSDN
    利用Docker搭建java项目开发环境
    Linux上传和下载之Xshell
    JSP中利用JSTL标签对日期格式化
    MySQL数据库localhost的root用户登陆遭遇失败
    CentOS7下 简单安装和配置Elasticsearch Kibana Filebeat 快速搭建集群日志收集平台(版本6.x)
    CentOS下递归遍历文件夹下所有文件,查找指定字符
    谷歌浏览器插件不让离线安装怎么办?
    X-Forwarded-For 会少记录一次代理服务器的IP
  • 原文地址:https://www.cnblogs.com/straycats/p/8978201.html
Copyright © 2011-2022 走看看