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
原文地址:https://www.cnblogs.com/alan6/p/11442085.html