⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 blog.csdn.net/p793049488/article/details/132389057 「有一只柴犬」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注微信公众号:【芋道源码】有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言都将得到认真回复。甚至不知道如何读源码也可以请教噢。
  4. 新的源码解析文章实时收到通知。每周更新一篇左右。
  5. 认真的源码交流微信群。

1 前言

Docker 提供了命令行工具来管理 Docker 的镜像和运行 Docker 的容器。我们也可以使用图形工具来管理 Docker。目前,主流的 Docker 图形工具有 Docker Ul、Portainer 和 Shipyard。

2 Docker UI

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

优点:

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

缺点:

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

2.1、部署 Docker UI

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

docker pull uifd/ui-for-docker

然后启动即可:

docker run -it -d --name docker-web -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock docker.io/uifd/ui-for-docker

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

2.2、管理容器

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

点击进入 Containers 中:

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

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

3 Portainer

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

优点:

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

缺点:

暂未发现

3.1、部署 Portainer

从镜像仓库中拉取 Portainer:

docker pull portainer/portainer

创建数据卷:

docker volume create portainer_db

启动 Portainer:

docker run -d --name docker-web -p 9000:9000 \    -v /var/run/docker.sock:/var/run/docker.sock \    -v portainer_db:/data \    portainer/portainer

访问 IP:9000 进入 Portainer 页面:

3.2、管理容器

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

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

点击容器如 xxl-job 详情:

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

3.3、添加远程 Docker

点击左侧 Environments,进入环境管理页面,点击 Add environment。

由于我们使用的是单机版的 Docker,所以选择第一个,点击 Start Wizard。

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

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

4 Shipyard

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

Shipyard 提供的主要功能包括:

  • 镜像管理、容器管理、节点管理等
  • 节点的动态扩展
  • 容器监控的可视化管理
  • 在线的命令行终端

Shipyard 目前使用比较小众,这里就不过多介绍。现在我这边的容器管理,基本使用的是 Portainer,基本满足我们日常开发和运维所需。

文章目录
  1. 1. 1 前言
  2. 2. 2 Docker UI
    1. 2.1. 2.1、部署 Docker UI
    2. 2.2. 2.2、管理容器
  3. 3. 3 Portainer
    1. 3.1. 3.1、部署 Portainer
    2. 3.2. 3.2、管理容器
    3. 3.3. 3.3、添加远程 Docker
  4. 4. 4 Shipyard