记录一些常用的函数和瞎折腾的过程……

推荐一款docker可视化管理面板portainer

portainer算是比较知名的开源docker管理工具,功能上比较齐全,不过只有英文版本,没有中文,不过这并不影响他的使用。

官方地址:https://www.portainer.io/

linux上安装:

[root@server ~]$ docker volume create portainer_data
[root@server ~]$ docker run -d -p 8000:8000 -p 9000:9000 \
    --name portainer \
    --restart=always \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v portainer_data:/data \
    portainer/portainer-ce:latest

按最新的官方文档,可以启用ssl,要启用https直接访问,需要指定挂载ssl证书的位置:/path/to/your/certs,以及证书的私钥和公钥名:portainer.crt,portainer.key。具体请使用如下命令:

[root@server ~]$ docker volume create portainer_data
[root@server ~]$ docker run -d -p 8000:8000 -p 9443:9443 \
    --name portainer \
    --restart always \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v portainer_data:/data \
    -v /path/to/your/certs:/certs \
    portainer/portainer-ce:latest \
    --sslcert /certs/portainer.crt \
    --sslkey /certs/portainer.key

具体文档请参阅:

https://docs.portainer.io/start/install-ce/server/docker/linux

https://docs.portainer.io/advanced/ssl#using-your-own-ssl-certificate-on-docker-standalone

如果使用了诸如acme.sh之类的工具自动生成并续期证书,那要先进行证书的目录映射,再指定证书目录,具体如下:

[root@server ~]$ docker run -d -p 9443:9443 -p 8000:8000 \
    --name portainer \
    --restart always \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v portainer_data:/data \
    -v /etc/letsencrypt/live/yourdomain:/certs/live/yourdomain:ro \
    -v /etc/letsencrypt/archive/yourdomain:/certs/archive/yourdomain:ro \
    portainer/portainer-ce:2.21.2 \
    --sslcert /certs/live/yourdomain/fullchain.pem \
    --sslkey /certs/live/yourdomain/privkey.pem