docker 经常使用命令备忘录

基础命令

docker version
docker info
docker --help

  

镜像命令

查看

docker images
 
 

其中:git

  • REPOSITORY:表示镜像的仓库源docker

  • TAG:镜像的标签(默认的版本标签为 latest,拉镜像时能够指定 TAG)shell

  • IMAGE ID:镜像IDcentos

  • CREATED:镜像建立时间bash

  • SIZE:镜像大小spa

命令的选项有:调试

  • -a:列出本地全部的镜像
  • -q:只显示镜像 ID
  • --digests:显示镜像的摘要信息
  • --no-trunc:显示完整的镜像信息

其中最经常使用的为 rest

docker images -qa

  

搜索

docker search [镜像名]

 

 

常见的命令选项有:日志

  • --no-trunc:显示完整的镜像描述
  • -s:列出星星数不小于指定值的镜像
  • --automated:列出全部自动构建的镜像

 

下载镜像

docker pull [镜像名]

pull 命令相似 git 拉取代码,用于下载镜像,镜像名后能够跟 TAG 用于指定版本 docker pull 镜像名:TAG,在 docker 中不加 TAG 默认为 latestcode

 

删除镜像文件

docker rmi 镜像名ID
 

能够跟镜像 ID 也能够跟镜像名。可使用 -f 强制删除,若是须要删除全部镜像可使用 docker rmi -f $(docker images -qa)

若是删除时提示冲突,能够先删掉记录docker ps -a -q | xargs docker rm 或者 docker rm -f $(docker ps -a -q)而后再删除便可

 

容器命令

下载镜像

docker pull centos

 

新建并运行容器

docker run [OPTIONS] image [COMMAND] [ARG]

经常使用的选项有:

  • --name:给容器指定名字,不指定的话会自动给定一个名字
  • -d:后台运行容器,返回容器 ID
  • -i 与 -t:-i 表示以交互式方式运行容器,-t 表示为容器分配一个伪终端,一般二者一块儿使用
  • -P:随机端口映射
  • -p:指定端口映射关系
  • --rm:对于foreground容器,因为其只是在开发调试过程当中短时间运行,其用户数据并没有保留的必要,使用该选项,这样在容器退出时就可以自动清理容器内部的文件系统,可是不能和 -d 同时使用

运行方式:

  1. 交互式容器       

 docker run -it centos /bin/bash

     表示:使用镜像 centos:latest 以交互模式启动一个容器,在容器内执行/bin/bash命令。

 

    2. 守护式容器     

docker run -d centos

  运行之后在进程中看不到对应的容器。由于 Docker 容器后台运行,就必须有一个前台进程。容器运行的命令若是不是那些一直挂起的命令,就会自动退出。

 

查看正在运行的容器

docker ps [OPTIONS]

常见的选项有

  • -a:列出当前全部正在运行的容器+历史上运行过的
  • -l:显示最近建立的容器
  • -n:显示最近n个建立的容器
  • -q:静默模式,只显示容器编号
  • --no-trunc:不截断输出

 

退出容器

  1. 中止退出

    在容器的交互式终端输入exit回车或者使用 "ctrl+D" 便可中止容器并退出

  2. 容器不中止退出

    即容器仍然在后台运行,可是推出交互式终端,使用 "ctrl+P+Q" 便可

 

启动容器

docker start 容器ID或者容器名

 

重启容器

docker restart 容器ID或者容器名

  

中止容器

  1. 正常中止

docker stop 容器ID或者容器名

  2. 强制中止

 docker kill 容器ID或者容器名

  

删除已经中止的容器

docker rm 容器ID

  

若是须要一次性删除多个容器,可使用:

docker rm -f $(docker ps -a -q)

 

查看日志

docker logs 容器 ID

一般添加以下选项:

  • -t:加入时间戳
  • -f:跟随最新的日志打印
  • --tail 数字:显示最后多少条

 

查看容器内部

  1. 查看容器内部进程

docker top 容器ID

 

查看容器内部细节

docker inspect 容器ID

 

进入正在运行的容器

  1. exec 进入

    docker exec -it 容器ID /bin/bash

    在容器中打开新的终端,而且能够启动新的进程

  2. attach 进入

    docker attach 容器ID

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

拷贝

  1. 从容器拷贝到宿主机上:

docker cp 容器ID:容器内路径 目标的宿主机目录

  2. 从宿主机拷贝到容器:

  docker cp 宿主机的目录 容器ID:容器内路径

  

无论容器是否启动,拷贝都会生效

 
相关文章
相关标签/搜索