Docker安装portainer详细步骤
本篇文章只适用于Linux系统,Windows系统并不适用,本篇将根据有Portainer的官方文档提供的方法来进行安装,文章后面将加上如何汉化。
官方介绍
Portainer 由两个元素组成:Portainer 服务器和 Portainer 代理。这两个元素都作为 Docker 引擎上的轻量级 Docker 容器运行。本文档将帮助您在 Linux 环境中安装 Portainer Server 容器。要将新的 Linux 环境添加到现有的 Portainer Server 安装中,请参阅 Portainer Agent 安装说明。
首先,您需要:
- 最新版本的 Docker 已安装并正常工作。我们建议遵循 Docker 的官方安装说明 - 特别是,我们建议不要在 Ubuntu 发行版上通过 snap 安装 Docker,因为您可能会遇到兼容性问题。
- 在将托管 Portainer Server 实例的计算机上进行 sudo 访问
- 默认情况下,Portainer Server 将通过端口公开 UI,并通过端口公开 TCP 隧道服务器。后者是可选的,仅当您计划将 Edge 计算功能用于 Edge 代理时才需要。
9443
`8000`安装说明还对环境做出以下假设:
- 您的环境符合我们的要求。虽然 Portainer 可以与其他配置一起使用,但它可能需要更改配置或功能有限。
- 您正在通过 Unix 套接字访问 Docker。或者,您也可以通过 TCP 进行连接。
- SELinux 在运行 Docker 的计算机上被禁用。如果需要 SELinux,则需要在部署 Portainer 时将标志传递给 Docker。
--privileged
- Docker 以 root 身份运行。使用无根 Docker 的 Portainer 有一些限制,需要额外的配置。
根据官网的部署方式安装;
首先,创建Portainer Server将用于存储其数据库的卷:
docker volume create portainer_data
搜索portainer镜像
docker search portainer
拉取portainer镜像
docker pull portainer/portainer-ce
然后,下载并安装 Portainer Server 容器:
//第一种启动镜像方式
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
芜湖,出现问题;上面错误信息表示,当您尝试运行 Portainer 容器时,容器无法绑定到主机的 9443 端口,因为该端口已被其他进程占用。
尝试改变一下Portainer的端口为9444,还是出现问题
那只能先列出当前所有的 Docker 容器:
docker ps -a
这将显示所有已创建的容器,包括正在运行和已停止的容器。
一共出现了两个容器,一个是刚建的还有一个是上篇文章用于测试Docker的,现在全部删除
- 找到之前创建的 Portainer 容器 (名称为 "portainer")。记下它的容器 ID 或名称。
- 删除之前创建的 Portainer 容器:
//删除容器,ebc6845a4de4是容器的CONTAINER ID
docker rm -f ebc6845a4de4
在网上搜了一下,看见了其他人搭建的方式,我在这里借鉴一下Portainer——Docker可视化详细安装教程及避坑,建议收藏! | Docker | docker安装portainer详细步骤
其它方式,启动portainer容器
# 启动镜像
//第二种启动镜像方式
docker run -d --name portainerUI -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer
//第三种启动镜像方式
docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v /dockerData/portainer:/data --restart=always --name portainer portainer/portainer-ce:latest
-p: 指定宿主机端口和容器端口 portainer默认端口是9000
-v: 目录映射,将/var/run/docker.sock映射到容器中,用于访问Docker的守护进程,控制Docker。/dockerData/portainer保存Portainer的配置信息。
–restart=always: 代表在容器退出时总是重启容器,还有其他几种重启策略:no、on-failure、on-failuer:n、unless-stopped
-p 1126:9000 端口映射默认为9000,映射为1126
portainer 镜像名字
(if wrong [PS1])
docker ps查看容器
-p 9000:9000 端口映射默认为9000,映射为9000
portainer/portainer 镜像名字
还是出现9000 端口已经被其他进程或服务占用了。
没办法那只能尝试着先把全部端口开放试试了,
//使用 ufw 命令:
sudo ufw allow 1:65535/tcp
sudo ufw allow 1:65535/udp
sudo ufw reload
这些命令将开放 TCP 和 UDP 协议的所有端口,并在防火墙重新加载后生效。
接着在之前创建的全部删除,重新根据其他人的方法从头再来一遍
使用第二种启动镜像方式任然出现,端口被占用的情况
但使用命令检查主机上是否有其他进程正在使用 9000 端口:
sudo netstat -antp | grep ':9000'
并没有检查出来什么
访问宝塔里面的安全查看端口规则,可以明显看出来9000端口是没有被占用的,而且之前也使用了开放全部端口的命令也没用,那只能想其他办法了。
嗯。。。我个人认为有可能是我安装编译版的软件导致的
所以,想尝试使用下面的方式安装
体验国内大佬开发的可视化Docker管理工具『DockerUI』
这里用了:不止Portainer,体验国内大佬开发的可视化Docker管理工具『DockerUI』来进行尝试
直接输入DockerUI的安装命令:
docker run --restart always --name docker.ui -d -v /var/run/docker.sock:/var/run/docker.sock -p 8999:8999 joinsunsoft/docker.ui
芜湖,这太他妈尴尬了,还是老问题,妈的真几把服了(* ̄︿ ̄),目前只能等宝塔安装的全部结束了,在进行尝试安装吧!
**——————前半部分编辑完成时间:2024/5/18 21:04**
人傻了,才发现宝塔有Docker
妈的,6,我无话可说
**——————前半部分编辑完成时间:2024/5/18 21:36**
评论 (0)