docker-2命令

Docker命令分类
docker --help可以查看docker命令介绍

docker的命令可以分为6类

子命令分类 子命令
Docker环境信息 info,version
Container生命周期管理 create,exec,kill,pause,restart,rm run,start,stop,unpause
Docker registry命令 login,logout,pull,push,search
Docker images管理 build,image,import,load,rmi,save,tag,commit
Container运维操作 attach,export,inspect,port,ps,rename,stats,top,wait,cp,diff
System日志信息 event,history,logs

所有的命令执行前都需要加上docker

Docker环境信息

docker info和docker version都可以用于检查Docker是否正确安装,正确安装会输出Docker的配置信息
docker-2命令_第1张图片
docker-2命令_第2张图片

container生命周期管理

新建并启动容器

run

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

docker run命令会寻找本地镜像,以此为模板新建一个容器。如果本地没有,会去远程仓库拉取。
可以使用docker run --help来挑选可以选用的选项

[OPTIONS]常见的选项有:

OPTIONS
–name 后跟随着为容器指定的名称
-d 后台运行容器,并返回容器ID,即启动守护式容器
-i 使用交互模式运行容器,始终保持输入流开放
-t 为容器分配一个伪终端,与i同时使用。即:在容器中利用打开的weight终端与容器进行交互
-v 挂载volumn
-P 随机端口映射
-p 指定端口,可以有以下四种格式
ip:hostPort:containerPort
ip::containerPort
hostPort:containerPort
containerPort
docker run -it --name mytest centos:latest /bin/bash

该语句将使用centos的最新版本tag镜像启动一个容器,将其命名为mytest,并且启动伪终端,然后执行容器内的/bin/bash命令。执行完语句后,系统将进入容器的伪终端。

docker run centos ls -l

该命令将会使用centos最新版本镜像启动容器,运行ls -l命令后容器将会停止运行并退出


启动容器

start

docker start 容器ID或者容器名

该命令将会启动已经存在但退出运行的一个容器

docker start f0baacb5152d

f0baacb5152d是容器ID

docker start mytest

mytest是容器名字

restart

docker restart 容器ID或者容器名

该命令将会重新启动已经存在的正在运行容器


停止容器

stop

docker stop 容器ID或者容器名

该命令将会让正在运行的容器停止运行

kill

docker kill 容器ID或者容器名

该命令将让正在运行的容器强行停止运行

stop和kill的区别

docker stop:支持“优雅退出”。先发送SIGTERM信号,在一段时间之后(10s)再发送SIGKILL信号。Docker内部的应用程序可以接收SIGTERM信号,然后做一些“退出前工作”,比如保存状态、处理当前请求等。

docker kill:发送SIGKILL信号,应用程序直接退
出。


删除容器

rm

docker rm 容器ID

删除正在运行的容器


可以采用嵌入多条命令的形式删除多个容器

docker rm -f ${docker ps -a -q}

-f将会强行删除
docker ps -a -q命令将会显示当前正在运行+历史上运行过的容器的容器ID。
所以上面命令将会强制删除docker上所有的容器,包括运行不运行



退出容器

是指目前已经在容器内部的伪终端中,如何退出伪终端,回到系统原来的终端。

输入exit命令

容器会停止退出

按住crtl+P+Q键

容器将会处于运行状态下,不停止退出



Docker registry

pull

    docker pull [OPTIONS] NAME{:TAG}

将会从docker registry中拉取image或者repository(镜像库,包括各个版本标签的镜像)。

push

    docker push NAME{:TAG}

将本地的image或者repository推送到docker 镜像库中

search

    docker search [OPTIONS] NAME

寻找远程仓库下对应名字的镜像

[OPTIONS]举例

–no-trunc:显示完整的镜像描述
-s:列出收藏数不少于指定值的镜像
–automated:列出automated build类型的镜像

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述



images管理

列出镜像

images

docker images [OPTIONS] [NAME]

列出主机上所有的镜像

[OPTIONS]说明
-a:列出本地所有镜像,包括中间映像层
-q:只显示镜像ID
–digests:显示镜像的再要信息
–no-trunc显示完整的镜像信息

docker-2命令_第3张图片
在这里插入图片描述
注意到没有,no trunc将完整显示IMAGE ID,我们平时使用的知识IMAGE的部分ID(12位)


删除镜像

rmi

docker rmi [OPTIONS] IMAGE [NAME]

注意:如果rmi删除镜像时,已经有基于该镜像启动的容器存在,不管该容器是否正在运行,都无法直接删除,需要先rm删除容器,或者使用-f强制删除

删除单个:-------docker rmi -f 镜像ID
删除多个:-------docker rmi -f 镜像名1:TAG 镜像名2:TAG
删除全部:-------docker rmi -f ${docker images -qa}

docker images -qa将会显示所有的镜像的镜像ID
docker ps -qa将会显示所有的容器的容器ID

注意rmi和rm的区别,一个是删除镜像,一个是删除容器

commit

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

能将一个容器固化成一个新的镜像。注意,commit只能提交保存正在运行的容器。(不推荐使用,一般使用build和Dockerfile创建管理镜像)

[OPTIONS]说明
-m:提交的描述信息
-a:作者

build



Container运维操作

进入正在运行的容器并以命令行形式交互

attach

直接进入容器的终端,不会启动新进程

    docker attach [OPTIONS] CONTAINER

exec

进入容器内执行某个命令后退出

   	docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

docker-2命令_第4张图片
exec可以通过添加-it选项,命令改为/bin/bash后进入容器终端
在这里插入图片描述

inspect 可以查看镜像和容器的详细信息。

docker inspect【OPTIONS】CONTAINER|IMAGE [CONTAINER|IMAGE..]

docker-2命令_第5张图片
添加–format参数可以查看某个键的信息
在这里插入图片描述
在这里插入图片描述

ps

docker ps [OPTIONS]

列出容器列表
[OPTIONS]
-a:显示所有容器,包括已经停止的
-n:显示最新指定的条数的容器
-l:只显示最新创建的容器,包括不运行的容器
-q:只显示容器ID

cp

将容器内的文件拷贝到主机上

docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|

SRC_PATH:容器内文件路径
DEST_PATH:主机上目的路径

top

docker top CONTAINER

查看容器内运行的进程

rename

    docker rename CONTAINER NEW_NAME

重命名该容器的name



System日志信息

logs

docker logs [OPTIONS] CONTAINER

[OPTIONS]说明
-t,日志中加入时间戳
-f,跟随最新的日志打印
–tail 数字。显示最后指定数字的条数

events

从docker服务获取容器实时时间

history

展示一个镜像形成历史

你可能感兴趣的:(Docker,容器,Docker)