docker常用命令
一、启动关闭docker
1、查看所有正在运行容器 #docker ps 2、查看所有容器 #docker ps -a 3、停止容器 #docker stop containerId //containerId 容器ID 4、启动、重启容器 #docker start containerId #docker restart containerId #docker stop $(docker ps -a -q) //stop停止所有容器 #docker rm $(docker ps -a -q) //remove删除所有容器
二、重启docker,容器自动重启
1、加上参数 --restart=always #docker run -d --hostname my-rabbit --name rabbitmq --restart always -p 15672:15672 -p 5672:5672 rabbitmq:management 2、设置启动策略 #docker run --restart always --name mynginx -d nginx 如果容器已创建,可以修改容器的重启策略 #docker update --restart no mynginx 注意: no 不自动重启容器(默认) on-failure 容器发生error而退出(容器退出状态不为0)重启容器,可以指定重启的最大次数,如:on-failure:10 unless-stopped 在容器已经stop掉或Docker stoped/restarted的时候才重启容器 always 在容器已经stop掉或Docker stoped/restarted的时候才重启容器,手动stop的不算
三、进出容器,执行命令
1、进入容器 #docker exec -it [id/name] bash //[id/name]为容器id或者name 2、执行命令,如rabbitmq开启日志 #rabbitmq-plugins enable rabbitmq_tracing //rabbitmq开启tracing日志 3、退出容器 #exit
四、更新容器配置
1、修改容器为docker重启就自动重启 #docker update mysql5.7 --restart always
2、修改容器的内存限制,swap限制
#docker update mysql5.7 -m 500m --memory-swap -1 //内存限制为500M,swap不限制
五、其他
1、查看容器资源使用情况 #docker stats -a
2、容器/宿主主机时钟同步#docker 命令 -
v
/etc/localtime
:
/etc/localtime
:ro
3、限制容器日志大小
新建/etc/docker/daemon.jsonwen文件,如果有就不用新建了。添加log-dirver和log-opts参数:
{
"registry-mirrors": ["http://f613ce8f.m.daocloud.io"],
"log-driver":"json-file",
"log-opts": {"max-size":"500m", "max-file":"3"}
}
max-size=500m,意味着一个容器日志大小上限是500M,
max-file=3,意味着一个容器有三个日志,分别是id+.json、id+1.json、id+2.json
设置好后,重启docker进程
# systemctl daemon-reload
# systemctl restart docker
六、linux操作docker命令
1、查看docker容器的日志并按大小排序 #du -d1 -h /var/lib/docker/containers | sort -h 2、删除指定容器日志 #cat /dev/null > /var/lib/docker/containers/container_id/*-json.log