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的配置信息
在这里插入图片描述
在这里插入图片描述

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或者容器名

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


扫描二维码关注公众号,回复: 10714005 查看本文章

停止容器

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显示完整的镜像信息

在这里插入图片描述
在这里插入图片描述
注意到没有,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...]

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

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

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

在这里插入图片描述
添加–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

展示一个镜像形成历史

发布了58 篇原创文章 · 获赞 8 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_32020035/article/details/83959542