Docker信息查看
(1)查看docker进程状态
$ systemctl status docker
(2)查看docker的具体信息
$ docker info
(3)查看docker的版本信息
$ docker version
Docker的镜像操作
(1)查找镜像
$ docker search image_name
(2)拉取镜像
$ docker pull image_name:tag
(3)列出本地镜像
$ docker images
列表参数说明
Repository:镜像的仓库源
Tag:镜像的标签
Image ID: 镜像ID
Created: 镜像的创建时间
Size: 镜像大小
(4)设置镜像标签
$ docker tag image_id tag
(5)利用镜像创建容器
$ docker run image_name:tag command
(6)提交镜像
$ docker commit -m="描述信息" -a="author" image_name new_image_name
Docker的容器操作
(1)启动容器
$ docker run option host_port:contaniner_port image_name:tag command
例如:docker run -it -d -p 5000:5000 java java -version
-d:后台运行容器
-p:将容器端口映射到宿主机端口
-it:进行交互式操作
command: 执行java -version命令
(2)查看容器
$ docker ps // 查看正在运行的容器
(3)容器生命周期命令
$ docker create image:tag // 创建容器但不启动
$ docker start container_name // 启动容器
$ docker stop contaniner_name // 停止容器
$ docker restart container_name // 重启容器
$ docker pause contaniner_name // 暂停容器内所有进程
$ docker unpause contaniner_name // 恢复容器内所有进程
$ docker rm contaniner // 删除容器
$ docker rm ${docker ps -a -q} // 删除所有停止的容器
$ docker system prune -a // 释放docker占据的磁盘空间
清理Docker占用的磁盘空间
Docker的使用极大地方便了应用的发布和维护,但同时Docker也会造成占用过多磁盘的问题。因此定期清理Docker占用的磁盘空间是很有必要的,以下将介绍几种清理方式:
1.13版本前Docker
1.13版本前的Docker只能手动清理,清理的内容主要是无用的Volume、无tag的镜像、停止的容器和占用空间过大的容器日志:
1.删除Docker镜像/容器/数据卷
删除所有停止的容器:
$ docker ps -a | grep Exit | cut -d ' ' -f 1 | xargs docker rm
删除所有dangling镜像(即无tag的镜像):
$ docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
删除所有dangling数据卷(即无用的Volume):
$ docker volume rm $(docker volume ls -qf dangling=true)
2.删除容器日志
$ truncate -s 0 /var/lib/docker/containers/d1e4a54a930cc1c27d1f756a79ffbc259cd30eb80c759e680725465aee86d9fc/*-json.log
d1e4a54a930cc1c27d1f756a79ffbc259cd30eb80c759e680725465aee86d9fc
:通过docker ps
命令可知,该id与容器id相同。
*-json.log
:docker中日志文件以该格式结尾
1.13版本及以上Docker
docker system prune
命令可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)。docker system prune -a
命令清理得更加彻底,可以将没有容器使用的Docker镜像都删掉。注意,这两个命令会把你暂时关闭的容器,以及暂时没有用到的Docker镜像都删掉了