一、帮助命令

1、查看docker版本和信息

  • docker version。查看简略的版本信息。
  • docker info。查看详细的docker系统信息,包括容器数量和镜像等信息。

2、万能命令

  • docker 命令 --help。查看命令的使用方法。

二、镜像命令

1、docker images。查看所有的镜像。

 

docker -a。查看所有的镜像信息。

docker -q。查看所有镜像的ID信息。

Options:
  -a, --all             Show all images (default hides intermediate images)
      --digests         Show digests
  -f, --filter filter   Filter output based on conditions provided
      --format string   Pretty-print images using a Go template
      --no-trunc        Don't truncate output
  -q, --quiet           Only show image IDs

 

 

REPOSITORY:镜像的仓库源

TAG:镜像的标签

IMAGE ID :镜像的ID

CREATE:镜像的创建时间

SIZE:镜像的大小

-a和-q两个参数可以联合起来使用。

 

2、docker search xxx。搜索镜像。

 

例子:查看python的镜像。

命令:docker search python。结果会显示仓库中所有的可用镜像。

 

 

 参数

Options:
  -f, --filter filter   Filter output based on conditions provided
      --format string   Pretty-print search using a Go template
      --limit int       Max number of search results (default 25)
      --no-trunc        Don't truncate output

可以设置过滤条件。

例子:docker search python --filter=STARS=3000。查找仓库中STARS数大于3000的镜像。

 

 

 

3、docker pull。下载镜像,可指定版本,不指定默认下载最新版本。

Usage:  docker pull [OPTIONS] NAME[:TAG|@DIGEST]

Pull an image or a repository from a registry

Options:
  -a, --all-tags                Download all tagged images in the repository
      --disable-content-trust   Skip image verification (default true)
      --platform string         Set platform if server is multi-platform capable
  -q, --quiet                   Suppress verbose output

例子:docker pull mysql:5.7。下载mysql5.7版本

 

 

 查看已经下载的镜像

 

 

 

4、docker rmi。删除镜像。

Usage:  docker rmi [OPTIONS] IMAGE [IMAGE...]

Remove one or more images

Options:
  -f, --force      Force removal of the image
      --no-prune   Do not delete untagged parents

基本操作:docker rmi -f d1165f221234。删除镜像ID为d1165f221234的镜像。

 

 

     删除成功

骚操作:docker rmi -f $(docker images -aq)。删除所有的镜像,$()传参的作用,即将所有镜像作为参数返回。

删除多个镜像:docker rmi -f  镜像id 镜像id 镜像id

三、基本容器命令

1、docker run。运行容器。

常用参数:

--name="Name"         容器名字,例如tomcat1,tomcat2,用来区分容器
-d 后台运行方式启动Docker,一般都是后台运行
-it 使用交互式方式进行,进入容器查看内容
-p 指定容器的端口 -p 8080:8080,常有如下四种使用方式。
  -p ip:主机端口:容器端口
  -p 主机端口:容器端口(常用)
  -p 容器端口
  容器端口

例子:docker run -it centos /bin/bash。以交互的方式运行centos容器(需要先拉去centos镜像),/bin/bash是控制台的地址。

 

 运行之后,用户名变成了镜像的id。

 

 centos容器内部的文件系统与外部的系统高度相似,但是二者之间当前没有任何联系。

2、exit。从容器中退出。

3、docker ps。查看所有正在运行的容器。

    docker ps -a。查看所有容器,包括历史曾经运行过的容器。

 

 

   docker ps -a -n=1。显示最近创建的容器。个数表示容器个数。

   docker ps -aq。显示所有容器的编号。

 4、容器退出。

  • 第一种方式:exit。直接停止容器并退出。
  • 第二种:Ctrl+P+Q。不停止容器并退出。

 

 

5、删除容器

  • docker rm 容器Id 容器id             #删除指定容器,不能删除正在运行的容器,强制删除应使用下面的指令。
  • docker rm -f $(docker ps -aq)     #删除所有的容器

 

 

6、启动容器相关

  • docker start 容器di       #启动容器
  • docker restart 容器id    #重启容器
  • docker stop 容器id       #停止正在当前运行容器
  • docker kill 容器id          #强制停止当前运行的容器

 

四、最常用的容器命令

1、后台启用Docker

      命令:docker run -d 镜像名。

      问题:不同于 -it 的交互形式运行容器,后台运行容器之后必须要有前台进程与后台容器交互,否则容器会自动关闭。

  例子:

 

 

 启动了centos这个镜像,但是打开容器进程查看容器运行状态都是退出。这是因为启动centos之后并没有对应的前台进程。

 

2、查看容器日志

  命令:docker logs -tf --tail  条数 容器id

Usage:  docker logs [OPTIONS] CONTAINER

Fetch the logs of a container

Options:
      --details        Show extra details provided to logs
  -f, --follow         Follow log output
      --since string   Show logs since timestamp (e.g. 2013-01-02T13:23:37Z) or relative (e.g. 42m for 42 minutes)
  -n, --tail string    Number of lines to show from the end of the logs (default "all")
  -t, --timestamps     Show timestamps
      --until string   Show logs before a timestamp (e.g. 2013-01-02T13:23:37Z) or relative (e.g. 42m for 42 minutes)

     一般用 -ft 表示所有的日志信息。

  例子:

(1)先创建一个容器实例,并往里面生产日志。命令:docker run -d centos /bin/bash -c "while true;do echo xiami;sleep 1;done"

(2)查看日志输出。docker logs -ft --tail 10 容器id

 

 

 

3、查看容器内部的所有进程信息

  命令:docker top 容器id

 

 

 

4、查看容器中所有的元数据

  可以查看容器中所有的数据信息。

Usage:  docker inspect [OPTIONS] NAME|ID [NAME|ID...]

Return low-level information on Docker objects

Options:
  -f, --format string   Format the output using the given Go template
  -s, --size            Display total file sizes if the type is container
      --type string     Return JSON for specified type

     命令:docker inspect 容器id

 

 

 

5、进入当前运行容器

  容器通常是以后台方式运行的,如果想要修改容器的一些内部信息就需要重新进入。

       方式一:

  命令:docker exec -it 容器id bashshell

       例子:docker exec -it 容器id /bin/bash

 

 上图所示,已经切换到容器中了。

 

  方式二:

  命令:docker attach 容器id

  例子:

  

 

 

  方式一:进入容器后开启一个新的终端,可以操作容器;

  方式二:进入容器中正在执行的命令行,不会启动新的进程。

 

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

  容器内部和主机是相对独立的,所以需要进行文件拷贝。

  命令:docker cp 容器id:目标文件路径+文件名 主机目标路径

  例子:

  (1)在容器中创建一个文件夹。并退出到宿主机。

 

   (2)在宿主机上将容器中文件夹拷贝出来

 

 posted on 2021-08-29 23:10  佩剑君子  阅读(433)  评论(0)    收藏  举报