docker可视化界面portainer安装与使用

!!!前提,需要两台服务器,如果虚拟机也不够的单台也可以,因为是自己的虚拟机所以直接关防火墙以免端口被拦截。

systemctl stop firewalld

systemctl disable firewalld

如果docker执行命令一直卡着不动的话也是因为防火墙的原因关掉就正常了

这个可视化docker类似主从结构,一个主节点,多个被控节点,所以最好是两台服务器这样比较贴切实际情况,在同一台部署一个主节点一个被控节点也可以。两台都得部署docker

1、主节点web部署

docker安装参考我的上一篇教程https://blog.csdn.net/weixin_51761461/article/details/144963163?fromshare=blogdetail&sharetype=blogdetail&sharerId=144963163&sharerefer=PC&sharesource=weixin_51761461&sharefrom=from_link

docker安装好后,portainer中文版下载执行以下命令

拉取portainer最新版本镜像

docker pull 6053537/portainer-ce:latest

如果出现以下报错的话

Error response from daemon: Get "https://index.docker.io/v1/search?q=nginx&n=25": dial tcp 108.160.170.52:443: connect: connection refused
去找docker的daemon.json把里面的镜像源改成这个,正常安装的docker这个文件应该是在

/etc/docker/daemon.json

"registry-mirrors": [
    "https://2a6bf1988cb6428c877f723ec7530dbc.mirror.swr.myhuaweicloud.com",
    "https://docker.m.daocloud.io",
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com",
    "https://your_preferred_mirror",
    "https://dockerhub.icu",
    "https://docker.registry.cyou",
    "https://docker-cf.registry.cyou",
    "https://dockercf.jsdelivr.fyi",
    "https://docker.jsdelivr.fyi",
    "https://dockertest.jsdelivr.fyi",
    "https://mirror.aliyuncs.com",
    "https://dockerproxy.com",
    "https://mirror.baidubce.com",
    "https://docker.m.daocloud.io",
    "https://docker.nju.edu.cn",
    "https://docker.mirrors.sjtug.sjtu.edu.cn",
    "https://docker.mirrors.ustc.edu.cn",
    "https://mirror.iscas.ac.cn",
    "https://docker.rainbond.cc"
   ]

如果docker search xxx命令也出现的话就没办法了,因为docker的这个命令是不走配置里面的镜像源的,只有docker pull拉取镜像的时候是走镜像源的 

docker volume create portainer  # 创建名为"portainer"的卷等下给portainer镜像使用

正常拉取完,并创建完镜像的话就可以开始运行了

如果实在pull不了镜像的话这边有打包好的镜像包下载到服务器后导入即可

portainer-ce.tar包链接: https://pan.baidu.com/s/1vfIxe2QLT2X_25-KWUpS7Q?pwd=r6sk 提取码: r6sk 

docker load -i 文件目录/portainer-ce.tar

先查看一下镜像的名称,前面的REPOSITORY就是镜像的名称

docker images



[root@localhost ~]# docker images
REPOSITORY               TAG       IMAGE ID       CREATED        SIZE
portainer/agent          2.27.3    1ca51431e0d3   2 weeks ago    171MB
6053537/portainer-ce     latest    8b3082476dac   4 months ago   333MB
docker run -d -p 9000:9000  -v  /var/run/docker.sock:/var/run/docker.sock -v  portainer:/data     --restart always --name portainer 6053537/portainer-ce
#   映射服务器内的端口:容器内端口 文件映射docker.sock                         卷名称:容器内挂载目录 重启机制  总是             名称   自己定义  镜像名称

执行完直接浏览器访问服务器ip:9000,要是自己改过端口映射就改成自己的,我这里9000端口有其他服务所以用的9999端口。要注意的是如果你前面执行上面那个创建容器的命令docker run的时候参数或者其他的端口占用了,他容器还是会创建,导致后面什么都没错的时候也创建不了,可以用docker ps -a查一下已经创建的容器然后用docker stop 容器id 先停掉然后再docker rm 容器id 进行删除,确定多余的容器已经被删除了之后再重新执行。

如果出现这个容器正常运行但重启整个docker的时候访问不了的话检查一下是不是缺了这个参数

-v  /var/run/docker.sock:/var/run/docker.sock

重启docker的时候容器直接被动启动,容器启动时可能没有完全与 Docker 守护进程建立连接,导致报错会识别不了这个docker.sock文件,但正常直接docker restart 容器id又可以正常访问是因为这个时候基本已经建立好通讯连接了。所以启动容器的时候最好都加一下这个参数

出现该界面后根据指引设置密码然后登录

 登录后需要配置节点环境

2、被控节点部署

同样先安装docker然后执行命令拉取portainer_agent镜像

docker pull portainer/agent:latest
#拉取portainer_agent镜像

同样拉取不了镜像的自己下载一下上传到服务器上导入

agent.tar包链接: https://pan.baidu.com/s/1HdN9DrldL4zDvfA2ybfUMQ?pwd=33db 提取码: 33db

docker load -i 文件目录/agent.tar

创建卷

docker volume create portainer_agent
#创建名为portainer_agent的卷

运行容器

docker run -d -p 9001:9001 -v /var/run/docker.sock:/var/run/docker.sock -v   portainer_agent:/data     --restart always --name portainer_agent portainer/agent

最好看下这个容器的日志

docker logs 容器id或容器名称

报错提示这个的话就是命令上面那个-v  /var/run/docker.sock:/var/run/docker.sock这里服务器找不到/var/run/docker.sock这个文件,容器内是不变的,要看下daemon.json文件看是不是指定了其他的地址存放这个docker.sock,改成那个。

如果是上面这样的说明已经起来了

去到主节点的web页面,被控节点是没有web的。

3、配置被控节点进行创建连接

输入对应的服务器ip和端口然后点击连接,连接成功右上角会有提示

点击首页就能看到刚刚被控节点的docker了,点击进去就可以远程操控被控节点的docker了

 

4、portainer的使用

正常我们简单使用portainer的话就只需要看这三个就够了

首先是创建卷,做被控节点的容器数据持久化

左边就是我们一开始做被控节点所创建的卷,我们新建的话点右上角新建卷

输入名称点击创建就行

中间的一些内容的话感兴趣可以自己研究一下,简单用就不搞这么复杂了直接创建就行。

 第二步拉取镜像

这里拉个nginx的镜像,可以用  :  去指定版本,不写的话默认是最高的版本,拉取完镜像就会在下面显示了

输入名称,镜像名称,端口映射,以及绑定的卷等

镜像如果已经拉取过点击进行模糊搜索就会有提示,直接选就行,如果不拉取镜像可以开启始终拉取镜像的开关,他会自己先去下载镜像

选择对应创建的卷以及映射容器内部的持久地址

选择重启策略

 最后点击部署容器

 

部署完后就可以直接访问了

 

命令行访问容器内部

其余的一些功能可以自行探索一下,如果只是简单使用的话上面描述的功能就够用了。 

### Portainer 使用教程 Xpra 界面操作指南 Portainer 是一款流行的容器管理工具,允许用户通过直观的 Web 界面对 Docker 和 Kubernetes 进行管理和监控。然而,在官方文档和其他常见资源中并未发现直接涉及 Portainer Xpra 结合使用的具体说明。 对于希望在同一环境中运行并访问这两个应用程序的情况,通常做法是分别配置它们,并确保两者能够协同工作而不是冲突。例如,可以通过 Docker 容器化的方式部署 Portainer 并指定其监听特定端口[^1]: ```bash 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-ce ``` 为了使 Xpra 的图形界面能够在同一台机器上正常运作而不干扰到 Portainer 或其他服务,建议按照如下方式启动 Xpra 实例[^2]: ```bash xpra start --bind-tcp=0.0.0.0:10000 --html=on --start=xterm ``` 这里假设选择了不同于 Portainer 默认端口 (9000) 的另一个 TCP 端口号来绑定 Xpra 服务器(如上述命令中的 `10000`)。这样做不仅避免了潜在的服务端口冲突问题,还使得可以从浏览器轻松连接至任一应用。 当涉及到具体的 UI 操作时,由于 Portainer 提供的是基于 HTML5 的网页版控制面板而 Xpra 则专注于远程桌面共享功能,因此二者之间并没有直接关联的操作流程。不过,如果目标是在一台主机上的不同窗口或标签页里同时查看和交互这两者,则只需保证各自的服务已按前述方法正确设置即可实现这一需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值