Docker 基本命令详解(测开必备)

时间:2022-10-03 09:55:57

前言:
????作者简介:小曾同学.com,小伙伴们也可以叫我小曾,一个致力于测试开发的博主⛽️
如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起进步。????
座右铭:不想当开发的测试,不是一个好测试✌️。
如果感觉博主的文章还不错的话,还请点赞、收藏哦!????

本文命令均在Mac OS操作系统中适用

1. 镜像相关命令

1.1 查看 docker 基本信息

docker info

1.2 列出本地所有镜像

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 基本命令详解(测开必备)

1.3 查询镜像

docker search 镜像名

显示结果如下图:
name:表示镜像名称
description:表示镜像说明
stars:表示点赞数量
official:是否是官方的
automated:表示是否是自动构建的。

如果想罗列出前5个镜像,则
docker search --limit 5 redis

Docker 基本命令详解(测开必备)

1.4 下载镜像

docker pull imageName
或者
docker pull imageName:tag

如果不清楚具体的版本号,可以去docker hub中查询https://hub.docker.com/

Docker 基本命令详解(测开必备)

1.5 查看镜像所占空间

该命令可查看镜像/容器/数据卷所占的空间
docker system df

Docker 基本命令详解(测开必备)

1.6 删除镜像

docker rmi 镜像名或者镜像ID    表示删除指定镜像

docker rmi -f imageID   表示强制删除镜像(如果某个镜像被容器使用则只能强制删除)

docker rmi -f ubuntu:15.10 test/ubuntu:v1   表示删除多个镜像(多个镜像之间使用)


docker rmi -f `docker images -qa`   表示删除全部镜像

其中i表示image

1.7 什么是虚悬镜像

`虚悬镜像`是仓库名、标签名都是<none>的镜像。
这样的镜像一般没什么用,建议删除。

2. 容器相关命令

2.1 查看当前容器

docker ps		 表示列出当前正在运行的容器
docker ps -a	 表示列出当前所有正在运行的容器+历史上运行过的容器
docker ps -l	 表示显示最近创建的容器(显示最近的一个容器)
docker ps -n 5	 表示显示最近n个创建的容器(显示最近5个创建的容器)
docker ps -q	 表示静默模式,只显示容器编号

2.2 启动容器

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:为容器重新分配一个伪输入终端

2.3 退出容器

方法一:

进入容器后,输入` 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 容器不停止

2.4 启动已停止运行的容器

docker start 容器名或容器ID
例如,
docker start fb8448ae16c5

2.5 重启容器

docker restart 容器名或容器ID

2.6 停止容器

docker stop 容器名或容器ID

2.7 强制停止容器

docker kill 容器名或容器ID

2.8 删除已停止的容器

docker rm 容器名或容器ID

2.9 强制删除所有容器

docker rm -f `docker ps -aq`

2.10 进入正在运行的容器

方法一:

docker exec -it 容器ID或者容器名 /bin/bash

方法二:

docker attach 容器ID或者容器名

两种方法的区别:

attach 直接进入容器启动命令的终端,不会启动新的进程,用exit退出,会导致容器的停止。
exec是在容器中打开新的终端,并且可以启动新的进程,用exit,不会导致容器的停止。
推荐使用docker exec 命令,因为退出容器终端,不会导致容器的停止。

所以,一般流程是使用-d启动容器,再用exec进入对应容器实例。

两种进入容器方式展示
Docker 基本命令详解(测开必备)

2.11 查看容器日志

docker logs 容器ID或者容器名

Docker 基本命令详解(测开必备)

2.12 查看容器内运行的进程

docker top 容器ID或者容器名

2.13 查看容器内部细节

docker inspect 容器ID或者容器名

2.14 从容器内拷贝文件到主机上

docker cp 容器ID:容器内路径  目的主机路径
例如,
docker cp 71d5d4a45447:/test/test.md hellotest

3. 镜像与容器进阶命令

3.1 将容器打包成tar包

docker export 容器ID > xxxx.tar
例如,
docker export 5d86c3903550 > demo1.tar

3.2 将本地tar包制作成镜像

cat xxxx.tar | docker import - 镜像名:tag
例如,
cat demo1.tar | docker import - demo1/ubuntu:14.04

完整流程展示如下:
Docker 基本命令详解(测开必备)