常见操作
容器日志查看
docker logs -f --tail=500 ID
查看当前镜像的父镜像
docker image inspect --format='{{.RepoTags}} {{.Id}} {{.Parent}}' $(docker image ls -q --filter since=xxxxxx)
启动所有容器
docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)
docker ps -a | awk '{print $1}' | tail -n +2 | xargs docker container start
##或者
docker start $(docker ps -a -q)
关闭容器
关闭所有容器命令
docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)
docker ps -a | awk '{print $1}' | tail -n +2 | xargs docker container stop
##或者
docker stop $(docker ps -a -q)
停止全部已开启的容器
docker ps -a | grep 'Up' | awk '{print $1}'| xargs docker container stop
删除容器
删除所有的容器命令
docker rm $(docker ps -a | awk '{ print $1}' | tail -n +2)
docker rm $(docker ps -a -q)
删除全部已停止的容器
docker ps -a | grep 'Exited' | awk '{print $1}'| xargs docker container rm
删除镜像
删除所有的镜像
docker rmi $(docker images | awk '{print $3}' |tail -n +2)
删除全部tag为none镜像
docker images|grep none|awk '{print $3}'|xargs docker rmi
docker 内部参数及网络基本操作
docker 数据迁移
为什么数据迁移
一般情况下,docker 的频繁创建会导致容器中镜像文件过多,从而造成磁盘空间不足,此时就需要考虑迁移数据到磁盘空间充足的目录下。
如上图所示,我们需要将docker 的文件目录迁移到/data/docker/lib目录下,该目录属于根目录,在创建虚拟机时给根目录所分的磁盘空间比较大,满足docker容器正常运行的基本需求。
查看状况
通用查看方法
df -h
## 查看文件相对深度为2各大所属文件磁盘占用情况
du -h --max-depth=2 /var/lib/docker/
停止docker
systemctl stop docker
建立所需文件夹
mkdir -p /data/docker/lib
迁移文件
rsync -avz /var/lib/docker /data/docker/lib/
更改docker配置
vim /etc/docker/daemon.json
#添加如下内容
"data-root":"/data/docker/lib/docker"
重启docker
systemctl daemon-reload
systemctl restart docker
查看迁移信息
docker info
至此docker 所有的数据迁移过程已全部顺利完成。