首先,您需要:
最新版本的 Docker 已安装并正常运行。我们建议您遵循Docker 的官方安装说明——尤其需要注意的是,我们不建议在 Ubuntu 发行版上使用 snap 安装 Docker,因为这可能会遇到兼容性问题。- 对将托管您的 Portainer Server 实例的机器拥有 sudo 访问权限
- 默认情况下,Portainer Server 将通过端口 8000 暴露用户界面
9443,并通过端口 10000 暴露 TCP 隧道服务器8000。后者是可选的,仅当您计划将边缘计算功能与边缘代理一起使用时才需要。
安装说明还对您的环境做出以下假设:
- 您的环境符合我们的要求。虽然 Portainer 也可能适用于其他配置,但可能需要更改配置或功能受限。
- 您目前通过 Unix 套接字访问 Docker。或者,您也可以通过 TCP 连接。
- 运行 Docker 的机器上 SELinux 已禁用。如果您需要启用 SELinux,则需要
--privileged在部署 Portainer 时向 Docker 传递相应的标志。 - Docker 以 root 用户身份运行。使用无 root 权限的 Docker 运行 Portainer 存在一些限制,并且需要额外的配置。
部署
您可以选择使用docker runDocker Compose 部署 Portainer。
要使用 Docker Compose 进行安装,请使用以下curl命令下载 compose 文件:
curl -L https://downloads.portainer.io/ce-lts/portainer-compose.yaml -o portainer-compose.yaml
或者,创建一个portainer-compose.yaml包含以下内容的文件:
services:
portainer:
container_name: portainer
image: portainer/portainer-ce:lts
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
ports:
- 9443:9443
- 8000:8000 # Remove if you do not intend to use Edge Agents
volumes:
portainer_data:
name: portainer_data
networks:
default:
name: portainer_network
创建或下载 compose 文件后,您可以使用以下命令进行部署:
docker compose -f portainer-compose.yaml up -d
Docker Compose 将创建必要的资源并部署 Portainer。您可以通过运行以下命令检查 Portainer 服务器容器是否已启动:
docker ps
root@server:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7963585688a9 portainer/portainer-ce:lts "/portainer" 8 seconds ago Up 8 seconds 0.0.0.0:8000->8000/tcp, [::]:8000->8000/tcp, 0.0.0.0:9443->9443/tcp, [::]:9443->9443/tcp, 9000/tcp portainer
登录
安装完成后,您可以通过打开网页浏览器并访问以下网址登录您的 Portainer 服务器实例:复制
https://localhost:9443
如有需要,请替换localhost为相关的 IP 地址或 FQDN,如果之前更改过端口,请进行相应调整。
您将看到 Portainer 服务器的初始设置页面。
Docker Standalone (独立版)
docker run -d -p 9001:9001 --name portainer_agent --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/docker/volumes:/var/lib/docker/volumes -v /:/host portainer/agent:2.33.4
初始化 Swarm(适合集群需求)
1.初始化 Swarm
docker swarm init --advertise-addr $(hostname -I | awk '{print $1}')
2. 验证 Swarm 状态
docker node ls
3. 创建 overlay 网络
docker network create --driver overlay portainer_agent_network
4. 部署 Portainer Swarm Agent 服务
docker service create --name portainer_agent --network portainer_agent_network -p 9001:9001/tcp --mode global --constraint 'node.platform.os == linux' --mount type=bind,src=//var/run/docker.sock,dst=/var/run/docker.sock --mount type=bind,src=//var/lib/docker/volumes,dst=/var/lib/docker/volumes --mount type=bind,src=//,dst=/host portainer/agent:2.33.3