本帖最后由 chenandjun 于 2024-11-3 03:58 编辑
我的portainer的docker镜像是用的6053537/portainer-ce版本 portainer.io社区版2.19.5
根据作者的主页提供的介绍开启https没法用,作者主页启用ssl访问是这么说的.
如果你要启用ssl访问,远程主机建议启用,端口443和证书路径/certs请自行更改
docker run -d -p 443:9000 --name portainer --restart always -v
~/local-certs:/certs -v portainer_data:/data 6053537/portainer-ce -v /var/run/docker.sock:/var/run/docker.sock --ssl
--sslcert /certs/portainer.crt --sslkey /certs/portainer.key
我这样做了根本不行,并不能https访问,于是在网上各种搜,基本都是教你搭建portainer,介绍启用https的文章也就一二篇,有一篇的作者说是通过google还搜了管方文档.
他给出的docker run代码:
docker run -d -p 9000:9000 --restart=always --name portainer\
-v /var/run/docker.sock:/var/run/docker.sock \
-v /nginx/cert:/cert \
docker.io/portainer/portainer\
--ssl\
--sslcert /cert/1_www.futatsu.fun_bundle.crt\
--sslkey /cert/2_www.futatsu.fun.key
我以为找到正确的方法了,按照他的这个docker run运行了也还是不行,好像除了反代外没有别的方法,但是反代我又不会弄,于是在不断的反复docker run下瞎猫碰到死耗子竟然搞成了,不敢独享,分享给大家.(后来我出去官方网站看了官方文档好像也有说https的端口并不是9000而变成了9443,但是汉化的6053537/portainer-ce作者主页并没有说明这一点,导致我走了不少弯路)
我的docker run
docker run -d --name portainer -p 8999:9000 -p 9000:9443 -v /you_path:/certs -v /you_path/portainer:/data -v /var/run/docker.sock:/var/run/docker.sock 6053537/portainer-ce --sslcert /certs/you.crt --sslkey /certs/you.key
然后把你的证书放到/you_path/下面,you.crt和you.key是你的证书文件,改成你自已的
然后你的portainer就可以通过https//域名:9000和http://域名:8999访问了.(google老是把http变成https,所以你如果用google访问http://域名:8999的话它会把它变成https://域名:8999导致访问失败,可以直接用http://ip:8999来访问)
使用过程中发现portainer并没有想像中那么好用,网上尽是一帮神吹,把portainer吹成了docker界扛把子一样,但是对于新手特别是从群晖转过来的人来说,并没有群晖好用也并不友好.我第一次装时都装了好多遍,那时不懂存储卷下面的添加额外存储卷,因为我看别人的都是主机而我的只是存储卷于是各种装portainer ce ee 又去装英文版上传public汉化,发现还是存储卷后来看到有篇文章说到了绑定我就点了一下,噢原来诀窍在这里,只有点击绑定下面才变成主机地址,这我那能想到.
portainer的镜像和容器并没有关联,也就是说你在镜像上没有从镜像创建容器,你必须要在镜像里把标签复制下来然后在创建容器时贴上去或手工填写,还有最主要的是修改比较麻烦,这也是我还保留一个群晖的系统的原因,比如我新创建了一个容器没有填端口和映射文件夹,然后我在容器里安装了软件,我再想去修改容器添加一个端口或添加一个文件夹,这在群晖里是基础操作,portainer竞然不能,我百度搜了一下,好像改要很复杂,然而群晖只是添加保存就可以了,portainer里也有个修改,它修改就是帮你删除重建了一个,我在容器的所有操作白费.
其它的强大功能,据说同时管理几千个容器和我们普通人关系不大,这样看来portainer只适合管理容器,在易用性方面不如群晖里的docker管理,有点对不起docker界扛把子这个称谓.其实docker也不是那些神吹说的万物皆docker,你docker个freebsd看看,docker个windows看看,在里面套个虚拟机那还不如虚拟机,它只能docker linux,只是用起来比较方便,做实验,学习,调试确实非常好用.
就这样吧,下篇分享下一个docker里同时启动apache和mysql,我也走了不少弯路.
|