网站首页 > 技术文章 正文
除了使用终端以命令的方式管理和部署Docker容器和服务,还可以使用图形用户界面,Docker Desktop 是适用于 MacOS 和 Windows 计算机的应用程序,用于构建和共享容器化应用程序和微服务。Docker Desktop 提供在桌面上设计和交付容器化应用程序所需的速度、选择和安全性。
在Linux桌面和服务器上,没有Docker Desktop应用程序。portainer是Docker的Web图形管理界面,部署portainer后,可以通过浏览器来管理。
01 部署portainer
通过SSH连接上服务器,创建并编辑portainer-stack.yml文件。执行如下命令:
nano portainer-stack.yml
在打开的窗口输入如下代码:
version: '3.2'
services:
# tag:2.11.1; 2.18.3; 2.19.4;2.20.1
agent:
image: portainer/agent:2.20.1
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /var/lib/docker/volumes:/var/lib/docker/volumes
networks:
- azh
deploy:
mode: global
placement:
constraints: [node.platform.os == linux]
# tag:2.11.1; 2.18.3 ; 2.19.4; 2.20.1
portainer:
image: portainer/portainer-ce:2.20.1
command: -H tcp://tasks.agent:9001 --tlsskipverify
ports:
- "9443:9443"
- "9000:9000"
- "8000:8000"
volumes:
- portainer_data:/data
networks:
- azh
deploy:
mode: replicated
replicas: 1
placement:
constraints: [node.role == manager]
networks:
azh:
driver: overlay
attachable: true
volumes:
portainer_data:
上面的代码是在Linux系统上部署的,不两只的操作系统略微有点不同,在上面的代码可以看到,有二个Docker安装路径使用的是绝对路径:
- /var/run/docker.sock
- /var/lib/docker/volumes
不同的操作系统这二个路径是不一样的。
02 执行部署命令
在portainer-stack.yml文件所在目录下执行以下命令:
sudo docker stack deploy -c portainer-stack.yml work
完成后,将创建二个服务。现在,可以通过Web浏览器管理Docker服务器了。 下面通过portainer部署mysql和postgresql数据库服务。
03 浏览器登陆到portainer
在浏览器打开localhost:9000;如果之前没有设置用户和密码,将要求设置一个用户,然后输入用户名和密码登陆,如图:
04 登陆后的主页面
登陆portainer后的主页面如下图,portainer可以管理多个集群,配置好的集群以列表的形式显示在下方,这里只有一个。点击列表中显示的集群,进入集群主页面。
05 Docker集群主页面
进入Docker集群主页面后,显示Stack,服务,容器,图像,网络,数据卷的数量,点击进去将显示详细的信息。 可以看到当前集群有十个Stack,这里,点击进去在线新建一个。
06 增加Docker Stack部署
在Stack页面,以列表显示Stack信息,单击页面右上角的【Add Stack】按钮,在线添加新的Stack。
07 在线编辑yml文件
进入创建Stack页面后,输入Stack的名称和内容,从下图可以看到,有四个选择:
- 1 Web编辑器在线编辑;
- 2 从文件上传;
- 3 从Git存储库导入;
- 4 从自定义模板;
这里直接在线编辑,随意部署二个数据库服务,mysql 8 和 postgreSQL 14。这里演示在线部署的过程,具体代码就省略了。
08 在线保存并部署Stack
输入好内容后,点击下方的【部署 Stack】按钮。部署完成后进入Stack详细信息页面。
09 Stack部署结果
如果没有错误,成功部署后,进入到Stack详细信息页面,提供Stack停止,删除,创建模板等功能,下方显示创建了二个服务,二个服务都只运行了一个容器,每个服务可以部署0个以上的容器,
10 在线修改Stack文件
使用portainer部署,可以在线修改重新部署,点击上方的【编辑器】,在打开的编辑器内修改,如图:
11 更新Stack部署
在Web编辑器修改完后,点击编辑器下方的【更新 Stack】按钮,如图:
12 在线编辑的缺陷
在线编辑更新Stack虽然方便,并不提供Git等工具的支持,也没有代码折叠功能,可以使用VS Code编辑器,有代码折叠功能。如图:
13 在线修改Stack限制
对于Docker集群上不是从portainer部署的Stack,是不能在线修改的,在这种情况下,在页面的顶部会提示:“此堆栈是在 Portainer 外部创建的。对此堆栈的控制是有限的。”,如下图:
总结
Docker管理可以使用以下有三种方式:
- 1 终端命令行工具;
- 2 Docker Desktop桌面应用程序;
- 3 portainer等Web UI管理工具;
对于个人和小型企业来说,这就足够了。更复杂和大规模的容器编排,就要采用Kubernetes来部署和管理了。之前在我的旧笔记本电脑上也用过Kubernetes,部署完环境就运行了10多个以上的容器,折腾了一个多月后,最终选择了Docker群模式。
猜你喜欢
- 2024-10-14 Docker Overlay 网络学习 dockercompose 网络
- 2024-10-14 盘点c++几种常见的设计模式及具体实现
- 2024-10-14 Docker新手福音!这个开源控制面板让你更快上手Docker
- 2024-10-14 Docker-掌握这三种方法,创建自己的docker镜像
- 2024-10-14 docker 基础概念 docker基于什么
- 2024-10-14 小白也能轻松上手,深度体验绿联私有云DX4600 Docker功能
- 2024-10-14 一文带你了解docker常用命令 docker常用命令及参数
- 2024-10-14 Docker最佳实践的反模式 docker反向代理
- 2024-10-14 docker中容器如何实现通信 docker容器之间如何通信
- 2024-10-14 工程化Docker:确保应用程序的可靠性、可扩展性和可维护性
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)