Docker 正在被用在愈来愈多的场景中,对于不太习惯命令行工具的朋友来讲,docker cli 用起来可能会比较吃力。本文笔者将介绍一个功能强大的 docker web 客户端:portainer(岸吊,参考下面插图)。按照 portainer 官方的说法,它可让咱们经过 UI 轻松的管理 docker 主机和 docker swarm 集群。说明:本文的演示环境为 ubuntu 16.04。nginx
就像咱们经过容器来运行应用同样,运行一个容器就好了,很是简单:git
$ docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer
而后在浏览器中经过 9000 端口访问 protainer 站点就能够了!github
配置管理员信息
第一次访问 portainer 时须要设置管理员的帐号信息,咱们把管理员帐号命名为 admin 并设置密码:web
选择 portainer 管理的对象
简单起见咱们先配置 portainer 管理本机的 docker,选择下图中的 "Local" 并点击 "connect" 按钮:docker
简单的安装和配置以后咱们就进入了 portainer 的 dashboard 界面:ubuntu
Portainer 的界面设计很是简洁,主菜单几乎就是 docker 主要功能的一一对应。接下来,咱们将经过 App Templates 菜单来建立容器一个容器,并经过该容器来介绍一些 portainer 中比较经常使用的功能。浏览器
选择左侧的 App Templates 菜单,而后选择建立一个运行在 nginx 容器中的应用:工具
在容器属性的配置界面中,指定容器的名称为 webdemo,而后在高级选项中设置把宿主机的 80 端口映射到容器中的 80 端口:ui
而后点击 "Deploy the container" 按钮开始建立容器。容器建立完成后会显示在 Containers 界面中:spa
在这个管理界面上,咱们能够选取一个或多个容器进行操做,好比 start、stop、kill、restart、pause、resume 和 remove,固然还能够经过 "Add container" 按钮添加新的容器。下面咱们点击红框中的容器名称 "webdemo" 进入到容器详情界面:
这个界面中显示了单个容器的详情以及能够对这个容器执行的操做。最上方是针对容器的操做,接下来是容器的状态,而后是 "Access control"、"Create image"、"Container details"、"Volumes" 和 "Connected networks",为了显示方便,笔者把下面的类别都折叠了。
在容器状态区域,须要关注下红框中的 Status、Logs、Console 和 Inspect,这些都是咱们平时比较关心的内容。下面点击它们分别查看对应的视图。
Container statistics 视图实时的显示容器占用的资源信息,须要注意的是相关的数据没有被持久化,显示的内容老是每次打开这个视图后的数据:
容器日志视图显示容器中的日志输出:
经过控制台视图咱们能够在容器中执行命令:
Inspect 视图则为咱们展现容器的详细信息:
Portainer 并非只能管理本身建立的容器,咱们经过命令行建立的容器也会被 portainer 发现并管理。好比咱们到宿主机的控制台上建立一个名为 mycon 的容器:
$ docker run --rm -id --name mycon ubuntu
而后在 portainer 的容器列表界面中刷新一下:
mycon 容器已经出如今容器列表中了。
经过菜单中的 Images、Networks 和 Volumes 项能够分别管理容器镜像、network 和数据卷:
这些差异多就是平时使用比较频繁的功能了!
除了管理单机模式的 docker,portainer 还能够管理 docker swarm 集群。具体的用法并不复杂,这里就再也不赘述了,有兴趣的朋友能够参考这里。
参考:
Portainer github
Portainer dockerhub
How to Manage Docker Containers using Portainer on Ubuntu
Portainer, a UI for Docker