Docker之二二:Docker 图形化管理工具 Portainer

Docker 图形化管理工具 Portainer


Docker 提供了许多的命令用来在命令行中管理镜像和容器,但使用命令管理麻烦又枯燥,有什么方法可以轻松管理 Docker 呢? Portainer 是一个可视化的容器镜像的图形管理工具,使用 Portainer 可以轻松管理和维护 Docker 环境。

拉取镜像

首先,查询镜像:

$ docker search portainer
NAME                           DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
portainer/portainer            This Repo is now deprecated, use portainer/p…   2041                 
portainer/portainer-ce         Portainer CE - Making Docker and Kubernetes …   440                  
thibaudlabat/portainer_32      Portainer built for 32bit Linux [ OUTDATED ]…   1                    
acicn/portainer-ce                                                             0                    
thibaudlabat/portainer-ce-32   32-bit / x86 portainer-ce                       0                    
luomoxu/portainer-ce-cn                                                        0                    
nativeit/portainer-ce                                                          0                    
6053537/portainer-ce                                                           0                    
luflo/portainer-ce             Eingefrorener Stand von portainer ARM 03.21     0                    
hanlahanla/portainer-ce                                                        0                    
22803189/portainer-ce                                                          0                    
terryromeu3sr/portainer-ce                                                     0 

然后拉取镜像:

$ docker pull portainer/portainer
Using default tag: latest
latest: Pulling from portainer/portainer
d1e017099d17: Pull complete 
717377b83d5c: Pull complete 
Digest: sha256:f8c2b0a9ca640edf508a8a0830cf1963a1e0d2fd9936a64104b3f658e120b868
Status: Downloaded newer image for portainer/portainer:latest
docker.io/portainer/portainer:latest

查看镜像:

$ docker images
portainer/portainer             latest    62771b0b9b09   8 months ago   79.1MB

创建容器

创建映射目录:

$ mkdir -p /home/workspace/Portainer/data

创建容器:

$ docker run -d -p 9000:9000 \
	--name portainer \
	--restart always \
	-v /var/run/docker.sock:/var/run/docker.sock \
	-v /home/workspace/Portainer/data:/data \
	portainer/portainer

说明

这里也可以使用挂载卷来保存数据,首先创建卷:

$ docker volume create portainer_data

创建容器:

$ 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

查看容器:

$ docker ps -a
CONTAINER ID   IMAGE                 COMMAND        CREATED          STATUS          PORTS                    NAMES
300fa84acb99   portainer/portainer   "/portainer"   51 seconds ago   Up 50 seconds   0.0.0.0:9000->9000/tcp   portainer

访问 Portainer 服务

在浏览器中输入 http://IP:9000/ 可以访问 Portainer 服务。首次登录,需要设置管理账户和密码:
Docker之二二:Docker 图形化管理工具 Portainer

密码设置完成后,需要选择 Docker 环境,Portainer 提供了四种方式连接到 Docker 环境,分别是 Local、Remote、Agent 和 Azure。这里选择 Loacl:
Docker之二二:Docker 图形化管理工具 Portainer
进入 Portainer:
Docker之二二:Docker 图形化管理工具 Portainer
Docker之二二:Docker 图形化管理工具 Portainer
Docker之二二:Docker 图形化管理工具 Portainer
Docker之二二:Docker 图形化管理工具 Portainer

配置中文环境

如果想使用中文界面,需要进行汉化配置,过程如下:

# Step1:下载汉化包
$ git clone https://gitee.com/faith01238/Dockers.git
Cloning into 'Dockers'...
remote: Enumerating objects: 72, done.
remote: Counting objects: 100% (72/72), done.
remote: Compressing objects: 100% (69/69), done.
remote: Total 72 (delta 4), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (72/72), 5.51 MiB | 1.31 MiB/s, done.

# Step2:下载完成后会在当前目录生成 Dockers 目录,进入 Dockers/Portainer/ 目录
$ cd Dockers/Portainer/
$ ls
public

# Step3:将 public 目录拷贝到 /home/workspace/Portainer 目录下
$ cp -rf public/ /home/workspace/Portainer/
$ ls /home/workspace/Portainer/
data  public

# Step4:创建容器
$ docker run -d -p 9000:9000 \
	--name portainer \
	--restart always \
	-v /var/run/docker.sock:/var/run/docker.sock \
	-v /home/workspace/Portainer/data:/data \
	-v /home/workspace/public/:/public \
	portainer/portainer

Portainer 管理远程 Docker 主机

按照前面的章节,我们可以使用 portainer 管理本地的 Docker 主机。正如前面提到的,Portainer 提供了四种方式连接到 Docker 环境,分别是 Local、Remote、Agent 和 Azure。这一节将介绍使用 Portainer 管理远程 Docker 主机,即 Remote。

配置 Docker 主机

Portainer 安装在一台主机上,这里是 192.168.194.136,需要远程管理 192.168.164.133 的 Docker 主机,那么配置需要远程的 Docker 主机,使其允许远程连接。

首先,修改 Docker 主机 daemon.json 文件:

$ vim /etc/docker/daemon.json

添加 hosts 配置项:

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

修改 /usr/lib/systemd/system/docker.service 配置文件 vim /usr/lib/systemd/system/docker.service

# 将 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock 修改为
ExecStart=/usr/bin/dockerd --containerd=/run/containerd/containerd.sock

说明

也可不配置 /etc/docker/daemon.json 文件,直接修改 /usr/lib/systemd/system/docker.service:

# 将 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock 修改为
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock 

重启 Docker 服务:

$ systemctl daemon-reload  
$ systemctl restart docker.service

注意

如果系统安装了防火墙,请关闭防火墙或者开放 2375 端口,允许远程连接。

配置 Portainer 远程控制

登录 Portainer,在菜单栏选择 Endpoints:

Docker之二二:Docker 图形化管理工具 Portainer
点击 Add endpoint,添加节点,然后选择 Docker 选项卡,填写名称和 URL,然后点击 Add endpoint:
Docker之二二:Docker 图形化管理工具 Portainer
添加完成后,可以在 Endpoint 菜单和 Home 菜单下面看到 Docker 主机的列表:
Docker之二二:Docker 图形化管理工具 Portainer
Docker之二二:Docker 图形化管理工具 Portainer

上一篇:Hadoop,HBase,Zookeeper源码编译并导入eclipse


下一篇:socket网络编程