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/

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM