时隔了一段时间后,又开始使用 docker
来部署 elasticsearch
集群,发现对于 docker
的命令都有些生疏了,这里将其整理下。
docker info # 查看基本信息 docker version # 查看版本
docker images # 查看本机的imaes docker rmi xxx # 删除镜像,后面请跟id docker search xxx # 搜索镜像
以下是运维相关的
docker ps # 查看当前运行的容器. docker ps -l # 最后创建的容器 docker ps -all # 所有的容器,包括关闭的 docker logs xx # 查看xx的日志 docker logs -f xx # 实时跟踪日志,类似tail -f docker logs ##查看redis容器日志,参数:-f 跟踪日志输出;-t 显示时间戳;--tail 仅列出最新N条容器日志; docker logs -f -t --tail=20 redis ##查看容器redis从2019年05月21日后的最新10条日志。 docker logs --since="2019-05-21" --tail=10 redis docker logs --tail 10 -f redis docker top xx # 查看容器的进程 docker inspect xx # 查看xx这个容器的具体信息 docker port xx # 查看xx这个容器的端口映射关系 docker exec -it xx bash #进入某个容器内部 [推荐,因为简单] docker exec -it xx bin/bash #进入某个容器内部2
以下是启动和停止相关的
docker run xx # 创建一个新的容器,只会在第一次创建的时候,使用 docker start xx # 开启某个容器 docker restart xx # 重启某个容器 docker stop xx # 关闭某个容器 docker kill xx # 强制关闭某个容器【kill -9 xxx】的感觉 docker rm xx # 移除某个容器
补充
##top支持 ps 命令参数,格式:docker top [OPTIONS] CONTAINER [ps OPTIONS] ##列出redis容器中运行进程 docker top redis ##查看所有运行容器的进程信息 for i in `docker ps |grep Up|awk '{print $1}'`;do echo \ &&docker top $i; done ##以分离模式在容器中执行命令,程序后台运行,结果不会反馈到当前终端 docker exec -d centos touch cache.txt
清理docker
# 查看docker的磁盘资源使用情况 docker system df # 清理镜像 docker rmi $(docker images | grep "<none>" | awk '{print $3}') # 或者更直接的做法 docker system prune
清理volume
# 1.9版本后支持 docker volume ls -qf dangling=true docker volume rm $(docker volume ls -qf dangling=true)
常用的就,应该就这么多了,这篇文章就是记录下这些内容!