1、拉取Portainer镜像
docker pull portainer/portainer
2、创建Portainer数据卷
docker volume create portainer_data
3、运行Portainer
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
参数说明:-v /var/run/docker.sock:/var/run/docker.sock
:把宿主机的Docker守护进程(Docker daemon)默认监听的Unix域套接字挂载到容器中;-v portainer_data:/data
:把宿主机portainer_data数据卷挂载到容器/data目录;
4、浏览器访问9000端口
1、登陆 http://x.x.x.x:9000,设置管理员账号和密码。
2、单机版在新页面选择 Local 即可完成安装,集群选择Remote然后输入SWARM的IP地址,点击Connect完成安装。
3、浏览器访问 http://192.168.2.119:9000 , 设置一个密码即可,点击创建用户
这里搭建的是单机版,直接选择Local ,点击连接
进入仪表盘主页面
容器页面
5、一键式安装启动脚本
docker pull portainer/portainer
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
其他安装方式
单机版安装
# 创建存储卷
$ docker volume create portainer_data
# 启动服务
$ docker run -d -p 80:9000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer
集群版安装
# 创建存储卷
$ docker volume create portainer_data
# 启动服务
$ docker service create \
--name portainer \
--publish 80:9000 \
--replicas=1 \
--constraint 'node.role == manager' \
--mount type=bind,src=//var/run/docker.sock,dst=/var/run/docker.sock \
--mount type=volume,src=portainer_data,dst=/data \
portainer/portainer \
-H unix:///var/run/docker.sock
自定义 docker-compose 安装
version: "3.2"
services:
portainer:
image: portainer/portainer
command: -H unix:///var/run/docker.sock
restart: always
ports:
- 80:9000
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
volumes:
portainer_data:
官网 docker-compose 安装
version: "2"
services:
nginx-proxy:
image: jwilder/nginx-proxy
restart: always
networks:
- proxy
ports:
- "80:80"
volumes:
- "/var/run/docker.sock:/tmp/docker.sock:ro"
- "./vhost.d:/etc/nginx/vhost.d:ro"
portainer:
image: portainer/portainer
restart: always
environment:
- VIRTUAL_HOST=dev.portainer
networks:
- proxy
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
networks:
proxy:
volumes:
portainer_data:
官网部署集群方式
# 集群也可以使用如下正统方式安装部署
$ docker stack deploy --compose-file=docker-stack.yml portainer
bash
version: '3.2'
services:
agent:
image: portainer/agent
environment:
# REQUIRED: Should be equal to the service name prefixed by "tasks." when
# deployed inside an overlay network
AGENT_CLUSTER_ADDR: tasks.agent
# AGENT_PORT: 9001
# LOG_LEVEL: debug
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /var/lib/docker/volumes:/var/lib/docker/volumes
networks:
- agent_network
deploy:
mode: global
placement:
constraints: [node.platform.os == linux]
portainer:
image: portainer/portainer
command: -H tcp://tasks.agent:9001 --tlsskipverify
ports:
- "9000:9000"
- "8000:8000"
volumes:
- portainer_data:/data
networks:
- agent_network
deploy:
mode: replicated
replicas: 1
placement:
constraints: [node.role == manager]
networks:
agent_network:
driver: overlay
volumes:
portainer_data: