Docker圖形化管理工具之Portainer

What is Portainer?
html

    Portainer是一款輕量級的圖形化管理工具,經過它咱們能夠輕鬆管理不一樣的docker環境。Portainer部署和使用都很是的簡單,它由一個能夠運行在任何docker引擎上的容器組成。Portainer提供管理docker的containersimagesvolumes、networks等等。它兼容獨立的docker環境和swarm集羣模式。基本知足中小型單位對docker容器的管理工做。node

快速部署nginx

從倉庫中查詢Portainer相關鏡像:
docker

[root@centos7 ~]# docker search portainer

拉取Portainer鏡像到本地:
json

[root@centos7 ~]# docker pull portainer/portainer

查看本地主機上的鏡像:image.png
centos

單機安裝
瀏覽器

若是隻有一個docker宿主機,能夠使用如下命令安裝:安全

[root@centos7 ~]# docker volume create portainer_data
[root@centos7 ~]# docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

Swarm集羣下安裝bash

使用Portainer提供的代理安裝程序在Swarm集羣下部署:網絡

[root@centos7 ~]# curl -L https://portainer.io/download/portainer-agent-stack.yml -o portainer-agent-stack.yml
[root@centos7 ~]#docker stack deploy --compose-file=portainer-agent-stack.yml portainer

更多場景下部署方法能夠參考如下:https://portainer.readthedocs.io/en/stable/index.html

單機環境中安裝完成以後,能夠經過瀏覽機對9000端口進行訪問。如:http://192.168.39.185:9000

首次登錄須要註冊用戶:image.png

因爲是單機環境下安裝,選擇local模式便可:

image.png

注意:該頁面上有提示須要掛載本地 /var/run/docker.socker與容器內的/var/run/docker.socker鏈接。所以,在啓動時必須指定該掛載文件。

進入首頁能夠查看到本地環境下docker相關的信息如容器,鏡像等等。

image.png

點擊「local「,查看本地docker相關信息:

image.png

點擊「Containers」查看容器相關信息:

能夠進行建立容器、啓動、中止、刪除等等操做很是的方便。image.png

點擊「Name」,能夠查看相關容器詳細信息:

image.png

在容器列表頁面下,點擊「Add Containers」能夠進行容器的建立:

輸入相關信息點擊「deploy the container」,能夠根據已有的鏡像快速建立容器:

image.png

瀏覽器打開剛纔建立的nginx容器:

image.png

Portainer中還有不少對容器有意思的操做管理,諸如提供容器狀態監控視圖、容器狀態日誌、經過console登錄容器等等。

Portainer中還有一些不少其餘的操做,好比stacks管理、鏡像管理、卷管理、權限管理、網絡管理等等,能夠安裝上進行了解學習。

如鏡像管理,能夠查看到全部的鏡像相關列表,在鏡像列表能夠直接pull一個鏡像,能夠從遠程pull,也能夠從私有庫中pull。從私有庫中pull,須要將私有庫的地址提早進行配置。

Portainer多docker宿主機環境下管理

添加docker節點

首先在docker個節點中須要開啓遠程管理端口:2375或2376(支持ca認證,此端口較安全)

開啓2375端口,可能致使安全漏洞的出現,如下有詳細介紹:https://blog.csdn.net/ghostcloud2016/article/details/51539837

開啓2376端口比較複雜,能夠瀏覽如下:https://docs.docker.com/engine/security/https/

編輯/etc/docker/daemon.json,添加以下:

{
  "hosts": ["tcp://192.168.39.100:2375", "unix:///var/run/docker.sock"]
}

注意:192.168.39.100爲docker所在宿主機ip

重啓docker服務

# systemctl restart docker
Warning: docker.service changed on disk. Run 'systemctl daemon-reload' to reload units.

能夠查看到端口已經開放:image.png

在docker其餘節點能夠經過docker -H 192.168.39.100:2375 info命令查看到該節點docker相關信息。

點擊Home頁面下「add endportainer」添加該節點docker信息:

image.png

輸入如下相關信息,點擊「add endpoartainer」添加信息便可:

image.png

能夠看到添加docker-node1節點成功:

image.png

image.png

添加各個docker節點完成,這樣能夠經過portainer對每一個節點下的docker環境進行相關的管理操做。

Portanier管理Swarm集羣

Portainer管理swarm集羣時,確保環境下已經設置好Swarm集羣,若是沒有設置能夠參考Docker三劍客之Swarm

Master節點下安裝Portainer服務:

[root@centos7 ~]# docker service create --name portainer --publish 9000:9000 --constraint 'node.role == manager' --mount type=bind,src=//var/run/docker.sock,dst=/var/run/docker.sock portainer/portainer -H unix:///var/run/docker.sock
j6mzodyhsilp6i266w7d0i4ty
overall progress: 1 out of 1 tasks 
1/1: running   [==================================================>] 
verify: Service converged

查看Portainer服務:

[root@centos7 ~]# docker service ls
ID                  NAME                MODE                REPLICAS            IMAGE                        PORTS
j6mzodyhsilp        portainer           replicated          1/1                 portainer/portainer:latest   *:9000->9000/tcp

安裝完成以後,打開瀏覽器輸入http://{ip}:9000一樣會出現登錄密碼的設置界:

設置完賬號和密碼,登錄主界面,能夠查看到swarm集羣信息:

image.png

點擊「Swarm」,能夠查看到個集羣節點信息:

image.png

點擊「Image」,拉取一個nginx鏡像:

image.png

在Services下建立nginx服務,這裏建立4個副本,並將80端口映射出去,最後點擊「Create Service」建立服務:image.png

查看service list 列表會發現,nginx服務已經建立成功:

image.png

瀏覽器中輸入個節點ip地址,均可以看到nginx頁面以下:

image.png





經過命令能夠查看到nginx服務運行狀態:

image.png

相關文章
相關標籤/搜索