Docker常用命令总结

一、docker几个核心对象

镜像 image

容器 container

卷 volumes

网络 network

docker的镜像是由 镜像名+版本 组成的。如果没有指定镜像名没有指定版本,默认是latest版本最新版本。

二、常用命令 2.1 镜像命令

下载镜像

docker pull nginx //下载镜像
docker pull nginx:v1.4.14

运行镜像

docker run -it nginx //运行镜像
docker run --name webserver -d -p 80:80 nginx // 运行镜像,--name 给镜像取一个名字 -d 后台运行模式 -p 镜像端口映射

镜像帮助信息

docker image --help // 获取镜像操作的命令帮助

搜索镜像

//docker search ... 镜像搜索

docker search nginx // 搜索nginx镜像

查看镜像历史信息

docker image history nginx // 查看镜像历史

查看镜像详细信息

docker image inspect nginx //查看镜像详细信息

列出镜像

docker images //列出镜像
docker image ls //列出镜像
docker image ls -a //docker image ls 命令列表中只显示顶层镜像。-a 参数可以显示包括中间层在内的所有镜像
docker image ls nginx //根据仓库名列出镜像
docker image ls nginx:v2 //根据某个特定标签列出镜像

查看镜像、容器、数据卷大小

docker system df //查看镜像、容器、数据卷所占的空间大小

删除镜像

docker image rm centos:v7 // 按照标签tag删除镜像,也可以根据image id删除

//提示:删除镜像的前提是该镜像没有运行成容器;docker image rm 等同docker rmi命令;如果需要强行删除已经运行为容器的镜像,可以使用-f选项来指定;

docker image rm af34 //根据ID删除镜像,一般取前3个字符或以上就可以了

docker image rm $(docker image ls -q nginx) //过滤删除命令。删除所有仓库名为 nginx 的镜像
docker image rm $(docker image ls -q -f before=nginx:v2) //-f 强制删除 -q 查询,这句命令:删除所有在 nginx:v2 之前的镜像

给镜像打tag

docker tag centos centos:v6.7 //给镜像打标签 tag

//提示:docker image tag 和docker tag 等同;都是用于给镜像打标签;打标签的意思类似给镜像取别名的意思;

2.2 容器命令

新建并启动容器

docker run ... //新建并启动容器命令
docker run centos:v7 /bin/echo 'Hello World' //输出一个 'Hello World'之后终止容器
docker run -t -i centos:v7 /bin/bash // 启动一个bash端,允许用户进行交互,-t 让Docker分配一个伪终端(pesudo-tty)并绑定到容器的标准输入上,-i 让容器的标准输入保持打开
docker run -d centos:v7 /bin/sh -c "while true;do echo 11;sleep 1; done" //-d 在后台运行
//提示:可以用 docker logs 查看输出的结果

查看容器本身的信息

docker container ls // 查看容器信息
docker container ls -a

查看容器日志信息

docker container logs //获取容器的log输出信息
docker container logs [container ID or NAMES]

终止和启动容器

docker container stop // 终止一个运行中的容器
docker container ls -a // 可以查看容器终止的状态信息
docker container start //启动一个已经终止的容器
docker container restart // 将一个运行态的容器终止,然后重新启动

进入容器 docker attach 或 docker exec

docker run -dit centos
docker container ls
docker attach a12f // a12f 容器ID的前4个字符

docker run -dit centos
docker container ls
docker exec -it 34af bash // -i 这个参数没有分配伪终端但是保持了标准输出,-t 分配一个伪终端

docker exec --help // 查看更多exec的参数使用方法

导出容器

docker container ls -a
docker export r1dfdere112122 > centos.tar //r1dfdere112122 容器ID

导入容器快照

cat centos.tar | docker import - test/centos:v1.0 //本地导入
docker import URL //通过指定的url导入

删除容器
docker container rm 删除一个处于终止状态的容器

docker container rm centos
//提示:如果要删除一个运行中的容器,需要添加参数 -f 参数。 这时,docker 会发送 SIGKILL 信号给容器。

清理所有终止状态的容器

docker container ls -a // 查看所有已经创建包括终止状态的容器
docker container prune // 清除所有的容器

2.3 数据卷

创建数据卷

docker volume create first-volume

查看所有的数据卷

docker volume ls

查看某一数据卷信息

docker volume inspect first-volume

挂载数据卷的容器

docker run -d -P \
--name web \
#-v first-volume:/webapp \ // -v 参数挂载
--mount source=first-volumn, target=http://www.likecs.com/webapp \
training/webapp \
python app.py

//创建一个名为web的容器,并挂载数据卷到容器的 /webapp 目录

查看数据卷信息

docker inspect web

删除数据卷

docker volumn rm first-volumn

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzjsww.html