docker-compose Portainer

前言Portainer

PortainerDocker的圖形化管理工具,提供狀態顯示面板、應用模板快速部署、容器鏡像網絡數據卷的基本操作(包括上傳下載鏡像,創建容器等操作)、事件日誌顯示、容器控制檯操作、Swarm集羣和服務等集中管理和操作、登錄用戶管理和控制等功能。功能十分全面,基本能滿足中小型單位對容器管理的全部需求。

 

優點

  1. 支持容器管理、鏡像管理

  2. 輕量級,消耗資源少

  3. 基於docker api,安全性高,可指定docker api端口,支持TLS證書認證。

  4. 支持權限分配

  5. 支持集羣

缺點

  1. 功能不夠強大。

  2. 容器創建後,無法通過後臺增加端口。

 

Docker Swarm

Docker Swarm 是一款用來管理多主機上的Docker容器的工具,可以負責幫你啓動容器,監控容器狀態,如果容器的狀態不正常它會幫你重新幫你啓動一個新的容器,來提供服務,同時也提供服務之間的負載均衡,而這些東西Docker-Compose 是做不到的。

 

上傳中文包portainer目錄

把 (Portainer-CN.zip  百度雲提取碼: wqp1)解壓至裏面portainer/portainer

yum install -y unzip && unzip /portainer/Portainer-CN.zip 

創建網絡

docker network create --driver=bridge --subnet=172.20.0.0/16 portainer

創建目錄 

mkdir -p /portainer

Portainer 安裝 

vim /portainer/docker-compose.yml
version: '3.1'
services:
  portainer:
    image: portainer/portainer:latest
    container_name: portainer
    hostname: portainer
    restart: always
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
      - "./portainer/data:/data"
      - "./portainer/Portainer-CN:/public"
    environment:
      TZ: Asia/Shanghai
      LANG: en_US.UTF-8
    ports:
      - "9000:9000"
    networks:
        portainer:
           ipv4_address: 172.20.0.30
networks:
    portainer:
       external: true

安裝Swarm Manager(swarm所有節點和服務端安裝)

docker pull swarm

 創建Swarm Manager

docker swarm init --advertise-addr 192.168.3.236

 生成的Swarm Manager結果

Swarm initialized: current node (zhyv8ss1a324v6nzyeoiv3ssm) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-4y8b4vinuzx8jecoirehwxjyho1dpjvkzsp9xg1bjqlqgzho6y-dig4bwtefaeizkgadkbcxikdr 192.168.3.236:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

Swarm Node運行加入Swarm Manager

docker swarm join --token SWMTKN-1-4y8b4vinuzx8jecoirehwxjyho1dpjvkzsp9xg1bjqlqgzho6y-dig4bwtefaeizkgadkbcxikdr 192.168.3.236:2377

運行結果
This node joined a swarm as a worker.

Swarm Manager查看所有Swarm node節點 

docker node ls

portainer的web頁面登錄http://IP:9000,初始化密碼

docker,所以選Local,點Connect繼續;

中文版的Portainer安裝完成,在管理端查看節點

 Swarm集羣測試(簡單pull一個nginx測試)Swarm Manager操作

參數說明:

  • --name nginx-test:容器名稱。
  • -p 8085:80: 端口進行映射,將本地 8086 端口映射到容器內部的 80 端口。
  • -d nginx: 設置容器在在後臺一直運行。
docker run --name nginx-test -p 8085:80 -d nginx

Swarm Manager創建服務,服務名爲test1,副本數2(副本數不能超過集羣中節點數)

docker service create --replicas 2 --name test1 nginx 

Swarm Manager查看副本運行情況

docker service ps test1

Swarm Manager將nginx容器的80端口映射到虛擬機8001端口上

docker service update --publish-add 8001:80 test1

查看集羣內server

docker service ps test1

刪除集羣內service

docker service rm test1

主動離開集羣,讓節點處於down狀態,才能刪除

docker swarm leave

刪除指定節點 (管理節點Swarm Manager) 

docker node rm bfo00pvekiwc2duzopw51e6v6

Swarm Manager操作,解散集羣

docker swarm leave --force
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章