2022-02-16

Docker基础命令整理

docker help:

  docker help [COMMAND]

  例: docker help run

docker run --help:查看该命令的帮助文档

docker attach: 挂载正在后台运行的容器到前台

  docker attach [OPTIONS] Container

docker run: 在一个新的容器中执行命令 (CTRL-p CTRL-q 退出至后台运行)

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

  例: 


docker ps: 列出当前容器

  docker ps [OPTIONS]

  命令参数:

-a, --all=false            显示所有容器,包括当前没有运行的容器

-f, --filter=[]              按条件过滤容器, 可选的过滤选项:

exited= 容器的返回值

-l, --latest=false      显示最新的一个容器

-n num  显示最新的N个容器

--no-trunc=false      不要截断输出

-q, --quiet=false      仅显示容器ID

-s, --size=false        显示容器大小

docker ps                              查看当前正在运行的容器

docker ps -a                          查看当前的所有容器

docker images: 列出当前镜像

  docker images [OPTIONS] [NAME]

  命令参数:

-a, --all=false            显示所有镜像,包括中间生成的临时镜像

-f, --filter=[]              通过标签过滤 (i.e. 'dangling=true')

--no-trunc=false        不要截断输出

-q, --quiet=false        仅显示容器ID

  例子:

docker images                                  显示当前仓库中的镜像

docker images -a                              显示当前仓库中的镜像与临时镜像

docker logs: 显示容器的日志

docker logs CONTAINER

命令参数:

-f, --follow=false              等待容器后续的输出(类似 tail -f)

-t, --timestamps=false    显示时间戳

--tail="all"

例子:

1. docker logs 7bb0e258aefe

2. docker logs --timestamps=true 7bb0e258aefe

3. docker logs --timestamps=true 7bb0e258aefe > 7bb0e258aefe.log

终端A:

docker logs --follow 7bb0e258aefe

终端B:

docker attach 708cc7ec0f23        (随便执行一些命令可以看到终端A会有实时输出)

docker inspect:显示镜像或容器的详细信息

  docker inspect CONTAINER|IMAGE [CONTAINER|IMAGE...]

  命令参数:

  -f, --format=""                  选择输出内容,--format="{{.NetworkSettings.IPAddress}}"

  例子: docker inspect 7bb0e258aefe

docker stop: 停止运行中的容器 (CTRL-d 强制退出, Exited (0))

  Docker stop [OPTIONS] CONTAINER [CONTAINER...]

  命令参数:

  -t, --time=10                    杀掉容器进程之前,等待的时间

  例子: docker stop 7bb0e258aefe

docker kill:杀掉一个运行中的容器 (Exited (-1))

  docker kill [OPTIONS] CONTAINER [CONTAINER...]

  命令参数:

  - s, --signal="KILL"          选择向容器发出的Signal

  例子:

  sudo docker kill 7bb0e258aefe

docker start:重启停止的容器

  Docker start CONTAINER [CONTAINER...]

  命令参数:

  -a,--attach=false        Attach container'sSTDOUT and STDERR and forward allsignals to the process

  -i,--interactive=false  Attach container'sSTDIN

  例子: docker start 7bb0e258aefe

docker restart:重启运行中的容器

docker cp:拷贝容器中的文件

  docker cp CONTAINER:PATH HOSTPATH

  例子:docker cp c3f279d17e0a:/home/hyzhou/answer.txt .  将镜像中的/home/hyzhou/answer.txt文件拷贝到当前目录下

docker rm:删除容器

  docker rm [OPTIONS] CONTAINER [CONTAINER...]

  命令参数:

  -f, --force=false              强制删除容器(使用SIGKILL)

  -l, --link=false                Removethe specified link and not the underlyingcontainer

  -v, --volumes=false        Removethe volumes associated with the container

  例子:docker rm my_ubuntu              删除容器

docker top: 查看容器输出

  docker top CONTAINER [ps OPTIONS],[ps OPTIONS]的意思是, 你可以在这个命令后面加上使用ps命令时的各种参数

  例子:1.docker top 708cc7ec0f23

docker events:实时监听容器的事件

  docker events [OPTIONS]

  命令参数:

  --since=""                      显示某一个时间戳之后的events

  --until=""                        实时监听到某个时间戳为止

  例子:

A终端:

sudo docker events                            终端A等待Docker系统信息

sudo docker events --since 1378216169

sudo docker events --since '2013-09-03'

sudo docker events--since '2013-09-03 15:49:29'

sudo docker events --since'2013-09-03 15:49:29 +0200CEST'

sudo docker events > docker.log &  后台记录Docker的容器事件

B终端:

sudo docker restart 708cc7ec0f23    从B终端关闭容器

A终端显示:

2014-09-06T23:08:21+08:00708cc7ec0f23a5ec898c9d6308e9767edb66b863e96352ca6e030f0a5557f3b2:(fromubuntu:latest) die

2014-09-06T23:08:22+08:00708cc7ec0f23a5ec898c9d6308e9767edb66b863e96352ca6e030f0a5557f3b2:(fromubuntu:latest) start

2014-09-06T23:08:22+08:00708cc7ec0f23a5ec898c9d6308e9767edb66b863e96352ca6e030f0a5557f3b2:(fromubuntu:latest) restart

docker history: 显示镜像的历史记录

  docker history [OPTIONS] IMAGE

  命令参数:

  --no-trunc=false              不要截断输出

  -q, --quiet=false              仅显示容器ID

docker pull: 从远程拉取镜像

  docker pull NAME[:TAG]

  例子:docker pull ubuntu:latest

docker push: 推送镜像到远程仓库

  docker push NAME[:TAG]

  例子:docker push hyzhou/ubuntu:3.2.3

docker commit: 将容器打包成新的镜像

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

  命令参数:

  -a, --author=""                作者信息,"John Hannibal Smith "

  -m, --message=""            提交信息

  -p, --pause=true            在提交镜像时暂停容器

  例子:docker commit c3f279d17e0a Hyzhou/my_ubuntu:3.2.3

docker commit -a "Hyzhou" -m "addthe new software" c3f279d17e0aHyzhou/my_ubuntu:3.2.3

docker build: 使用Dockerfile构建新镜像

  docker build [OPTIONS] PATH|URL|-

  命令参数:

  --force-rm=false              移除构建时生成的中间容器

  --no-cache=false            Donot use cache when building the image

  -q, --quiet=false              不显示容器的输出

  --rm=true                        构建成功后,移除构建时生成的中间容器

  -t, --tag=""                        构建成功后,新建镜像的名称

docker tag: 为镜像加上标签

  docker tag [OPTIONS] IMAGE[:TAG][REGISTRYHOST/][USERNAME/]NAME[:TAG]

  命令参数:

  -f, --force=false                强制打上标签?

例子:

sudo docker tag ubuntu:latest hyzhou/my_ubuntu:3.2.3    给ubuntu:latest打上新TAG:hyzhou/my_ubuntu:3.2.3

sudo dockertag eb601b8965b8 ubuntu:latest            给eb601b8965b8镜像打上TAG: ubuntu:latest(会转换原有的TAG指向)

docker save: 将image保存为tar压缩文件

docker save [OPTIONS] IMAGE [IMAGE...]

-o, --output=""                  写入到一个文件中作为输出,默认是标准输出流

例子:

docker save --output ubuntu.tar ubuntu:latest  将Ubuntu的最新镜像打包为ubuntu.tar

docker save ubuntu:latest > ubuntu.tar          将Ubuntu的最新镜像打包为ubuntu.tar

docker load: 将tar压缩文件保存为image

  Docker load [OPTIONS]

  命令参数:

  -i, --input=""                    读取一个压缩文件作为输入,默认是标准输入流

  例子:1.docker load --input ubuntu.tar                  读取ubuntu.tar作为镜像

2.docker load < ubuntu.tar                        读取ubuntu.tar作为镜像

docker export: 把容器系统文件打包并导出来,方便分发给其他场景使用。

  docker export CONTAINER

例子:

sudo docker export my_ubuntu > ubuntu.tar      将Ubuntu的最新镜像打包为ubuntu.tar

docker import: 加载容器系统文件

docker import URL|- [REPOSITORY[:TAG]]

例子:

sudo docker import http://example.com/exampleimage.tgz

cat exampleimage.tgz | sudodocker import -exampleimagelocal:new

你可能感兴趣的:(2022-02-16)