:::info 视频演示 https://www.bilibili.com/video/BV1Rv411M7Jm/ :::
单机运行
version: "3.7"
services:
pt:
image: portainer/portainer-ce
container_name: pt
restart: always
privileged: true
environment:
TZ: "Asia/Shanghai"
ports:
- "9000:9000"
volumes:
- ./data:/data
添加自定义镜像库
远程管理其他 docker
被管理端配置
方式一(推荐)
- 修改 docker.service
vi /usr/lib/systemd/system/docker.service
在 ExecStart=/usr/bin/dockerd -H fd:// —containerd=/run/containerd/containerd.sock 后添加 -H unix:///var/run/docker.sock -H 0.0.0.0:2375
-H unix:///var/run/docker.sock 开启一个对外主机服务,使用 docker.sock 文件管理。
-H 0.0.0.0:2375 : 允许客户端 IP 访问当前服务,2375是自定义的端口。
vi /etc/docker/daemon.json
{
"hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"]
}
重启 docker 服务
systemctl restart docker
添加远程管理
镜像管理
创建网络
避免生成的docker网段与局域网其他网络冲突
容器创建
创建
选择镜像
simple mode
Advanced mode
外挂路径
环境变量
运行时限制
Stacks 部署 docker-compose.yml
如果部署失败,会出现 limit 导致无法修改。需要删除后调整。
容器的备份与恢复
api
官方说明
golang 接口封装
说明
| POST | > /resource_controls
| > Create a new resource control
| | —- | —- | —- | | PUT | > /resource_controls/{id}
| > Update a resource control
| | DELETE | > /resource_controls/{id}
| > Remove a resource control
|
auth
curl -X POST -H "Content-Type:application/json" -u "admin:kingisgod." http://172.19.129.98:9999/api/auth -d'{"password":"kingisgod.", "username": "admin"}'
{"jwt":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwidXNlcm5hbWUiOiJhZG1pbiIsInJvbGUiOjEsImV4cCI6MTY2MDYzNzM4MX0.139oVYq3_xZUe37TvsxSCnN_safRLtWK1FOXXa-nFP0"}
users
curl -X GET -H "Content-Type:application/json" -H "Authorization:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwidXNlcm5hbWUiOiJhZG1pbiIsInJvbGUiOjEsImV4cCI6MTY2MDYzNzM4MX0.139oVYq3_xZUe37TvsxSCnN_safRLtWK1FOXXa-nFP0" -u "admin:kingisgod." http://172.19.129.98:9999/api/users
[{"Id":1,"Username":"admin","Role":1,"PortainerAuthorizations":null,"EndpointAuthorizations":null}]
docker 管理
https://gist.github.com/deviantony/77026d402366b4b43fa5918d41bc42f8