Docker Docker-ce

1、拉取Portainer镜像

  1. docker pull portainer/portainer

2、创建Portainer数据卷

  1. docker volume create portainer_data

3、运行Portainer

  1. docker run -d -p 9000:9000 \
  2. --name portainer \
  3. --restart always \
  4. -v /var/run/docker.sock:/var/run/docker.sock \
  5. -v portainer_data:/data \
  6. 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 , 设置一个密码即可,点击创建用户
image.png
这里搭建的是单机版,直接选择Local ,点击连接
image.png
进入仪表盘主页面
image.png
image.png
容器页面
image.png

5、一键式安装启动脚本

  1. docker pull portainer/portainer
  2. docker volume create portainer_data
  3. docker run -d -p 9000:9000 \
  4. --name portainer \
  5. --restart always \
  6. -v /var/run/docker.sock:/var/run/docker.sock \
  7. -v portainer_data:/data \
  8. portainer/portainer

其他安装方式

单机版安装

  1. # 创建存储卷
  2. $ docker volume create portainer_data
  3. # 启动服务
  4. $ docker run -d -p 80:9000 \
  5. -v /var/run/docker.sock:/var/run/docker.sock \
  6. -v portainer_data:/data \
  7. portainer/portainer

集群版安装

  1. # 创建存储卷
  2. $ docker volume create portainer_data
  3. # 启动服务
  4. $ docker service create \
  5. --name portainer \
  6. --publish 80:9000 \
  7. --replicas=1 \
  8. --constraint 'node.role == manager' \
  9. --mount type=bind,src=//var/run/docker.sock,dst=/var/run/docker.sock \
  10. --mount type=volume,src=portainer_data,dst=/data \
  11. portainer/portainer \
  12. -H unix:///var/run/docker.sock

自定义 docker-compose 安装

  1. version: "3.2"
  2. services:
  3. portainer:
  4. image: portainer/portainer
  5. command: -H unix:///var/run/docker.sock
  6. restart: always
  7. ports:
  8. - 80:9000
  9. volumes:
  10. - /var/run/docker.sock:/var/run/docker.sock
  11. - portainer_data:/data
  12. volumes:
  13. portainer_data:

官网 docker-compose 安装

  1. version: "2"
  2. services:
  3. nginx-proxy:
  4. image: jwilder/nginx-proxy
  5. restart: always
  6. networks:
  7. - proxy
  8. ports:
  9. - "80:80"
  10. volumes:
  11. - "/var/run/docker.sock:/tmp/docker.sock:ro"
  12. - "./vhost.d:/etc/nginx/vhost.d:ro"
  13. portainer:
  14. image: portainer/portainer
  15. restart: always
  16. environment:
  17. - VIRTUAL_HOST=dev.portainer
  18. networks:
  19. - proxy
  20. volumes:
  21. - /var/run/docker.sock:/var/run/docker.sock
  22. - portainer_data:/data
  23. networks:
  24. proxy:
  25. volumes:
  26. portainer_data:

官网部署集群方式

  1. # 集群也可以使用如下正统方式安装部署
  2. $ docker stack deploy --compose-file=docker-stack.yml portainer
  3. bash
  4. version: '3.2'
  5. services:
  6. agent:
  7. image: portainer/agent
  8. environment:
  9. # REQUIRED: Should be equal to the service name prefixed by "tasks." when
  10. # deployed inside an overlay network
  11. AGENT_CLUSTER_ADDR: tasks.agent
  12. # AGENT_PORT: 9001
  13. # LOG_LEVEL: debug
  14. volumes:
  15. - /var/run/docker.sock:/var/run/docker.sock
  16. - /var/lib/docker/volumes:/var/lib/docker/volumes
  17. networks:
  18. - agent_network
  19. deploy:
  20. mode: global
  21. placement:
  22. constraints: [node.platform.os == linux]
  23. portainer:
  24. image: portainer/portainer
  25. command: -H tcp://tasks.agent:9001 --tlsskipverify
  26. ports:
  27. - "9000:9000"
  28. - "8000:8000"
  29. volumes:
  30. - portainer_data:/data
  31. networks:
  32. - agent_network
  33. deploy:
  34. mode: replicated
  35. replicas: 1
  36. placement:
  37. constraints: [node.role == manager]
  38. networks:
  39. agent_network:
  40. driver: overlay
  41. volumes:
  42. portainer_data: