/etc/docker/daemon.json
1 | { |
添加静态路由联通不同主机docker
在/etc/rc.local 加
1 | route add -net 172.18.1.0/24 dev eth0 |
清理docker空间
docker system prune -a
删除所有没有用的镜像,而不仅仅是临时文件;
docker image prune -a
限制docker 日志大小
{
“log-driver”:”json-file”,
“log-opts”: {“max-size”:”100m”, “max-file”:”1”}
}
无法用docker rmi 删除的镜像,可以直接删除文件
cd /var/lib/docker/image/overlay2/imagedb/content/sha256
for i in docker images|grep /test/|awk '{print $3}'
;do rm -rf $i* ;done
docker build 报错
unable to find image “sha256:823e1ed7982d5426dcc257ef43ba7e10b7758d6275d85ce645899f4f55b073b7”
加 –no-cache 参数
docker build -t docker.io/share/test/insurance-center:latest . –no-cache
Docker Swarm
创建Swarm集群
1 | # 1. 在manager1机器上创建docker swarm集群 |
在docker swarm中部署服务(管理节点运行)
1 | # 1. service命令创建服务 |
使用compose部署docker swarm 服务
部署服务
# docker stack deploy -c docker-compose.yml stackname
查看服务
# docker stack ls
移除服务
# docker stack down stackname
docker-compose.yml 文件示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34version: "3.3"
services:
visualizer:
image: dockersamples/visualizer:stable
ports:
- "8080:8080"
stop_grace_period: 1m30s
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
networks:
- alan
deploy: # deploy参数是Docker Compose针对Swarm集群部署提供的,子参数专门用于指定与服务部署和运行相关的配置
mode: replicated
replicas: 3
restart_policy:
condition: on-failure
max_attempts: 3
placement:
constraints:
- node.role == manager
- node.hostname == docker1
- node.labels.role == db
update_config:
delay: 5s
order: start-first # 默认为 stop-first,推荐设置先启动新服务再终止旧的
resources:
limits:
cpus: "0.50"
memory: 1g
networks:
alan:
external: true