这里用到了docker卷,卷的学习资料链接:
https://www.jianshu.com/p/4db1b954a3ec
http 版本(普通版)
官网资料链接:https://portainer.readthedocs.io/en/stable/deployment.html
version: '3'
services:
portainer:
image: portainer/portainer
container_name: portainer
ports:
- "8000:8000"
- "9000:9000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
restart: always
volumes:
portainer_data:
https 版本(高级版)
(注意:portainer中用到的https协议的cert证书是apache类型的,所以需要去自己域名中下载相应的证书,比如我的是阿里云ESC,就是在阿里云上下载的证书)
(我把cert证书所在目录挂载到宿主机的绝对路径,而没用docker卷,是为了让后续所有的容器都统一使用宿主机上准备好的cert证书,如果挂载到docker卷的话,就需要每次创建容器后再把cert证书复制到卷所在的宿主机的真实位置,这就造成了不必要的麻烦,所以docker卷要看情况合理使用,不可滥用)
version: '3'
services:
portainer:
image: portainer/portainer
container_name: portainer
command: -H unix:///var/run/docker.sock --ssl --sslcert /certs/2423367_www.micking.top_public.crt --sslkey /certs/2423367_www.micking.top.key
ports:
- "8000:8000"
- "9000:9000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
- /home/cert_apache:/certs
restart: always
volumes:
portainer_data:
其中 【-H unix:///var/run/docker.sock】这句指令用意我还没弄明白,只百度到了“var/run/docker.sock”的资料:
https://blog.csdn.net/boling_cavalry/article/details/92846483
搭建过程中遇到的问题描述
注意:玩的时候发现如果加了 【build: . 】,第一次执行时,会因为没有镜像而报错(找不到Dockerfile),所以我干脆不加build
【build: . 】表示构建当前,加上build,为了让每次执行该脚本时都移除原来的容器,再创建新的容器,如果不加build,执行脚本时,仍然会在原有的容器之上进行更改(我也是初学者,目前查到的资料是这样的,不知道对不对)
加build的脚本如下(目前还是不理解build,反正加了build第一次执行会报错找不到Dockerfile,也就是找不到对应的镜像)
version: '3'
services:
portainer:
build: .
image: portainer/portainer
container_name: portainer
ports:
- "8000:8000"
- "9000:9000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data portainer/portainer
restart: always
volumes:
portainer_data:
网友评论