Docker 9:Docker 管理界面 Portainer

九:Docker 管理界面 Portainer

Portainer is a lightweight management UI which allows you to easily manage your different Docker environments (Docker hosts or Swarm clusters). *Portainer* is meant to be as simple to deploy as it is to use. It consists of a single container that can run on any Docker engine (can be deployed as Linux container or a Windows native container, supports other platforms too). *Portainer* allows you to manage all your Docker resources (containers, images, volumes, networks and more!) It is compatible with the standalone Docker engine and with Docker Swarm mode.

PortainerDocker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。功能十分全面,基本能满足中小型单位对容器管理的全部需求。

github 地址:https://github.com/portainer/portainer

官网:https://www.portainer.io/

9.1:portainer 安装

安装文档:https://documentation.portainer.io/v2.0/deploy/linux/#deploy-portainer-in-docker

安装:

root@Docker1:~# docker volume create portainer_data

root@Docker1:~# docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce

查看 portainer 容器及端口监听状态:

root@Docker1:~# docker ps -f name=portainer
CONTAINER ID        IMAGE                    COMMAND             CREATED             STATUS              PORTS                                            NAMES
9e3cbe518cf2        portainer/portainer-ce   "/portainer"        29 seconds ago      Up 27 seconds       0.0.0.0:8000->8000/tcp, 0.0.0.0:9000->9000/tcp   portainer

root@Docker1:~# ss -tnlp | egrep '(8000|9000)'
LISTEN   0         20480                     *:8000                   *:*        users:(("docker-proxy",pid=2411,fd=4))                                         
LISTEN   0         20480                     *:9000                   *:*        users:(("docker-proxy",pid=2397,fd=4))

访问 Portainer:

http://192.168.1.111:9000/

首次访问需要设置 admin 密码:

在这里插入图片描述

选择管理本地 Docker:

在这里插入图片描述

进入后可以看到本地 Docker:

在这里插入图片描述

点击进入 Local 端点,查看本地 Docker 的 容器、镜像、网络、卷等的情况:

总体情况:

在这里插入图片描述

容器:

在这里插入图片描述

镜像:

在这里插入图片描述

网络:

在这里插入图片描述

存储卷:

在这里插入图片描述

9.2:Portainer 汉化

Portainer 官方不支持中文,“Portainer中文汉化项目” 提供了汉化功能;

Portainer中文汉化项目:https://www.quchao.net/Portainer-CN.html

以下步骤摘自项目:

  1. 新建文件夹命名为 public ,把 Portainer-CN.zip 解压至里面;

  2. public 文件夹传输至系统根目录;

  3. 然后按需执行以下命令;
    x86-64系统使用:

    docker volume create portainer_data
    docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data -v /public:/public portainer/portainer:1.20.2
    

    ARM64系统使用:

    docker volume create portainer_data
    docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data -v /public:/public portainer/portainer:linux-arm64-1.20.2
    

新建 /public 目录,将下载的汉化包 Portainer-CN.zip 解压值 /public 目录:

root@Docker2:~# mkdir /public
root@Docker2:~# cd /public
root@Docker2:/public# rz

root@Docker2:/public# unzip Portainer-CN.zip 
root@Docker2:/public# ll
total 1912
drwxr-xr-x  7 root root    4096 Feb  3 11:47 ./
drwxr-xr-x 25 root root    4096 Feb  3 11:46 ../
drwxr-xr-x  2 root root    4096 Mar 20  2019 css/
drwxr-xr-x  2 root root    4096 Mar 20  2019 fonts/
drwxr-xr-x  2 root root    4096 Mar 20  2019 ico/
drwxr-xr-x  2 root root    4096 Mar 20  2019 images/
-rw-r--r--  1 root root    2810 Mar 20  2019 index.html
drwxr-xr-x  2 root root    4096 Mar 20  2019 js/
-rw-r--r--  1 root root 1921725 Jan 29 20:02 Portainer-CN.zip

创建 portainer_data 卷和 portainer 容器,并映射 /public 目录:

root@Docker2:/public# docker volume create portainer_data

root@Docker2:/public# docker run -d -p 9000:9000 --name portainer -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data -v /public:/public portainer/portainer:1.20.2

访问 Portainer 页面,设置 admin 用户密码::

http://192.168.1.112:9000/

在这里插入图片描述

选择管理本地 Docker:

在这里插入图片描述

进入管理页面,已经汉化成功:

在这里插入图片描述

Dashboard 查看本地 Docker 的总体情况:

在这里插入图片描述

9.3:Portainer 应用

9.3.1:添加 Endpoint(端点)

Portainer 除了管理本地 Docker,也可以对其它宿主机的 Docker 进行远程管理;

dockerd 默认只监听 socket 文件,远程访问需要添加监听 tcp 的 2375 端口:

下边使用 Docker1(192.168.1.111) 服务器上的 Portainer 管理 Docker2(192.168.1.112) 上的 Docker;

Docker2 的 Dockerd 添加 2375 端口监听:

root@Docker2:~# vim /lib/systemd/system/docker.service 
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375

root@Docker2:~# systemctl daemon-reload
root@Docker2:~# systemctl restart docker

root@Docker2:~# ss -tnlp | grep 2375
LISTEN   0         20480                     *:2375                   *:*        users:(("dockerd",pid=11010,fd=3))

Portainer 添加 Endpoint:

端点名称设为 Docker2;
Endpoint URL 为 192.168.1.112:2375;

在这里插入图片描述

添加成功:

在这里插入图片描述

在这里插入图片描述

进入 Docker2,可以查看 Docker 的相关信息和状态:

在这里插入图片描述

9.3.2:添加 Registry(仓库)

为 Portainer 添加 Registry 时,先要保证 Portainer 所在的 Docker 宿主机是能访问指定的 Registry 的;

为 Docker1 的 Portainer 添加 Harbor 镜像仓库(192.168.1.121),先保证 Docker 能正常访问 Harbor:

添加 insecure-registry,重启 Docker,测试登录 Harbor 以及从 Harbor 拉取镜像;

root@Docker1:~# vim /lib/systemd/system/docker.service 
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --insecure-registry 192.168.1.121

root@Docker1:~# systemctl daemon-reload
root@Docker1:~# systemctl restart docker

root@Docker1:~# docker login 192.168.1.121
Authenticating with existing credentials...
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

root@Docker1:~# docker pull 192.168.1.121/nginx/centos-nginx:1.16.1
1.16.1: Pulling from nginx/centos-nginx
Digest: sha256:4a7cc6f4415f0744bd0afe034e4ae42e37ae90c4005d98cc357117e770efc9f9
Status: Image is up to date for 192.168.1.121/nginx/centos-nginx:1.16.1

Portainer 添加 Registry:

选择 Custom registry(私有/定制仓库),设置仓库名称为 Harbor,Registry URL 为 192.168.1.121;

在这里插入图片描述

添加成功:

在这里插入图片描述

9.3.3:使用 Portainer 启动容器

使用 Docker1 上的 Portainer 操作 Docker2 启动一个 Nginx 容器(使用的镜像为 192.168.1.121/nginx/centos-nginx:1.16.1,以顺便验证上一步添加的 Harbor 仓库是否可用);

在 Docker1 的 Portainer 界面上为 Docker2 创建容器:

容器名称为 Nginx1;
Registry 选用 Harbor;
Image 为 192.168.1.121/nginx/centos-nginx:1.16.1;
端口映射为 10080:80;

在这里插入图片描述

创建成功:

在这里插入图片描述

验证访问:

http://192.168.1.112:10080/

在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值