前言:
作者简介:小曾同学.com,小伙伴们也可以叫我小曾,一个致力于测试开发的博主⛽️
如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起进步。
座右铭:不想当开发的测试,不是一个好测试✌️。
如果感觉博主的文章还不错的话,还请点赞、收藏哦!
本文命令均在Mac OS操作系统中适用
docker info
docker images 表示列出本地所有镜像
docker images -a 表示列出本地所有镜像+历史映像层
docker images -q 表示列出本地镜像ID
1. 如果想要删除所有镜像一般使用:docker images -qa
2. 运行命令后显示结果如下:
repository:表示镜像的仓库源或者是镜像的名字
tag:表示镜像的标签版本号
image ID:表示镜像的ID
created:表示镜像创建时间
size:表示镜像大小
3. 同一个仓库源可以有多个tag版本,使用repository:tag来定义不同的镜像。如果不指定镜像的tag,则默认为latest。
docker search 镜像名
显示结果如下图:
name:表示镜像名称
description:表示镜像说明
stars:表示点赞数量
official:是否是官方的
automated:表示是否是自动构建的。
如果想罗列出前5个镜像,则
docker search --limit 5 redis
docker pull imageName
或者
docker pull imageName:tag
如果不清楚具体的版本号,可以去docker hub中查询https://hub.docker.com/
该命令可查看镜像/容器/数据卷所占的空间
docker system df
docker rmi 镜像名或者镜像ID 表示删除指定镜像
docker rmi -f imageID 表示强制删除镜像(如果某个镜像被容器使用则只能强制删除)
docker rmi -f ubuntu:15.10 test/ubuntu:v1 表示删除多个镜像(多个镜像之间使用)
docker rmi -f `docker images -qa` 表示删除全部镜像
其中i表示image
`虚悬镜像`是仓库名、标签名都是的镜像。
这样的镜像一般没什么用,建议删除。
docker ps 表示列出当前正在运行的容器
docker ps -a 表示列出当前所有正在运行的容器+历史上运行过的容器
docker ps -l 表示显示最近创建的容器(显示最近的一个容器)
docker ps -n 5 表示显示最近n个创建的容器(显示最近5个创建的容器)
docker ps -q 表示静默模式,只显示容器编号
1. 启动交互式容器:
docker run -it 镜像名 /bin/bash
例如: docker run -it ubuntu:14.04 /bin/bash
2. 启动后台运行容器(或者是守护式容器):
docker run -d 镜像名 /bin/bash
上述两个命令,并没有给容器命名,则系统会自动分配名字。如果想要自定义容器名,则使用如下命令:
docker run -it --name="容器名" 镜像名 /bin/bash
--name="容器名"
-d:后台运行容器并返回容器ID,即守护式容器
-i:以交互模式运行容器,通常与-t同时使用
-t:为容器重新分配一个伪输入终端
方法一:
进入容器后,输入` exit `即可退出
➜ ~ docker run -it --name="test2" ubuntu:14.04
root@71d5d4a45447:/# exit
exit
方法二:
快捷键:ctrl+q+p
➜ ~ docker run -it --name="test4" ubuntu:14.04
root@f6f2181ea158:/# %
两者区别:exit
会使容器停止,而 ctrl+q+p
容器不停止
docker start 容器名或容器ID
例如,
docker start fb8448ae16c5
docker restart 容器名或容器ID
docker stop 容器名或容器ID
docker kill 容器名或容器ID
docker rm 容器名或容器ID
docker rm -f `docker ps -aq`
方法一:
docker exec -it 容器ID或者容器名 /bin/bash
方法二:
docker attach 容器ID或者容器名
两种方法的区别:
attach 直接进入容器启动命令的终端,不会启动新的进程,用exit退出,会导致容器的停止。
exec是在容器中打开新的终端,并且可以启动新的进程,用exit,不会导致容器的停止。
推荐使用docker exec 命令,因为退出容器终端,不会导致容器的停止。
所以,一般流程是使用-d启动容器,再用exec进入对应容器实例。
docker logs 容器ID或者容器名
docker top 容器ID或者容器名
docker inspect 容器ID或者容器名
docker cp 容器ID:容器内路径 目的主机路径
例如,
docker cp 71d5d4a45447:/test/test.md hellotest
docker export 容器ID > xxxx.tar
例如,
docker export 5d86c3903550 > demo1.tar
cat xxxx.tar | docker import - 镜像名:tag
例如,
cat demo1.tar | docker import - demo1/ubuntu:14.04