Docker图形化管理

专栏:Docker

前言

对于开发或者Linux系统工程师来说,已经习惯了使用命令来管理容器。那么对于刚入门的人来说,使用命令行还是很困难的,为了能让这部分人快速的掌握Docker的使用,可以部署Docker图形化管理工具。

Docker UI

Docker UI 是一款最简单的,单机环境中的管理 Docker 的图形工具,适合初学者和小型 Docker 管理。

优点:

  • 支持容器管理
  • 稳定性高
  • 可动态显示容器间的关系图

缺点:

  • 管理页面无账户体系,缺乏安全性
  • 对于容器的管理缺乏权限控制,任何人都可以对容器进行一些敏感操作
  • 不支持多主机和 Swarm 集群

部署 Docker UI

安装部署 Docker UI 工具需要先从镜像仓库中拉取:

[root@docker1 ~]# docker pull uifd/ui-for-docker

然后启动即可:

[root@docker1 ~]# docker run -it -d --name docker-web01 -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock uifd/ui-for-docker
db2ed415ba64f250e848d24645f5ef6494b11a8f4e19fb95ef14814c4bbf833f
[root@docker1 ~]# docker ps -a
CONTAINER ID   IMAGE                COMMAND            CREATED         STATUS                    PORTS                                       NAMES
db2ed415ba64   uifd/ui-for-docker   "/ui-for-docker"   4 seconds ago   Up 2 seconds              0.0.0.0:9000->9000/tcp, :::9000->9000/tcp   docker-web01

启动成功后,我们即可访问 IP:9000 地址访问。需要注意的是,这里需要把 docker.sock 挂载出来,因为它是 Docker 守护进程默认监听的 UNIX 域套接字文件。容器中的进程可以通过它与 Docker 守护进程进行通信。

image-20240427193331141

管理容器

从 Docker UI 主界面中,我们看到导航菜单可以对容器,容器的网络模式,镜像,以及挂载卷进行管理。

点击进入 Containers 中:

image-20240427193553528

可以看到我们部署的所有容器,选择一个容器进去,如docker-web01:

image-20240427193640058

可以看到里面已经配置的基础容器信息,包括挂载目录,端口映射等。同时提供了删除容器,关闭容器,重启容器等可视化操作。

Portainer

Portainer 是一个轻量级的图形工具。使用 Portainer 可以轻松管理不同的 Docker 环境。Portainer 的部署和使用都非常简单,它由一个可以运行在任何 Docker 引擎上的容器组成。Portainer 可以管理 Docker 的镜像、容器、数据卷和网络等。

优点:

  • 既可以管理单机环境,也可以管理 Swarm 集群
  • 提供了用户的登录界面
  • 可以为用户分配某个容器

缺点:

暂未发现

部署 Portainer

从镜像仓库中拉取 Portainer:

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

创建数据卷:

[root@docker1 ~]# docker volume create portainer_db

启动 Portainer:

[root@docker1 ~]# docker run -d --name docker-web02 -p 10000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_db:/data portainer/portainer
2cb502697805185dc2116daf66a75793c08f3e2b0f9bbb26bb6f77242eadcd4d
[root@docker1 ~]# docker ps -a
CONTAINER ID   IMAGE                 COMMAND            CREATED          STATUS                    PORTS                                                             NAMES
2cb502697805   portainer/portainer   "/portainer"       2 seconds ago    Up 2 seconds              8000/tcp, 9443/tcp, 0.0.0.0:10000->9000/tcp, :::10000->9000/tcp   docker-web02

访问 IP:9000 进入 Portainer 页面:

image-20240427194421171

管理容器

输入密码确认后进入页面。

image-20240427194627954

点击 Containers,依然可以看到我们启动的几个容器。点击容器详情,也可以查看我们的容器基础信息,同时也可以进行容器管理操作。

image-20240427194657964

点击容器如docker-web02详情:

image-20240427194726289

还可以创建新用户,并给容器指定用户权限。在容器详情中:

image-20240427194927470

添加远程 Docker

点击左侧 Environments,进入环境管理页面,点击 Add environment。由于我们使用的是单机版的 Docker,所以选择第一个,点击 Start Wizard。

image-20240427195109961image-20240427200059643

在远程主机上运行上面的 docker agent 命令,启动后。下方的 Environment address 输入远程主机 IP:9001 端口,点击 Connect。成功连接上去后,在 Home 下就多了一个 Docker 管理项:

image-20240427200329240

接着选择我们要的 Docker 环境就可以进行远程管理了。这样的话,无需每台主机都安装 Portainer,只需要一台服务器安装后,就可以管理多台远程主机。

Shipyard

Shipyard 是一个集成管理 Docker 镜像、容器和镜像仓库的系统,支持跨多个主机的 Dock 容器的集群。

优点

支持镜像管理、容器管理。

支持控制台命令

容器资源消耗监控

支持集群swarm,可以随意增加节点

支持控制用户管理权限,可以设置某个容器对某个用户只读、管理权限。

有汉化版

缺点

启动容器较多,占用每个节点的一部分资源

兼容性性不高,经常打不开首页。

Shipyard 目前使用比较小众,这里就不过多介绍。Portainer基本满足我们日常开发和运维所需。

部署Shipyard

参考:deploy – shipyard project (shipyard-project.com)

汉化版(2.9.1)

创建指定的portainer目录

[root@docker1 ~]# mkdir -p /www/env/docker/portainer
进入目录
[root@docker1 ~]# cd /www/env/docker/portainer

下载汉化包

[root@docker1 ~]# wget https://github.com/eysp/public/archive/refs/tags/public.tar.gz

解压文件到指定的public目录

[root@docker1 ~]# tar -zvxf public-public.tar.gz
[root@docker1 ~]# mv public-public public

拉取镜像

[root@docker1 ~]# docker pull portainer/portainer-ce:2.9.1

运行容器

[root@docker1 ~]# docker run -d --restart=always \
--name="portainer" \
-p 9000:9000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
-v /www/env/docker/portainer/public:/public \
portainer/portainer-ce:2.9.1

访问http://ip:9000

0 条评论

🔒

发表评论需要 登录

还没有账号?立即注册

💬
还没有评论,来抢沙发吧!

← 返回首页