Fork me on GitHub

docker 常用命令备忘录

基础命令

docker version
docker info
docker --help

  

镜像命令

查看

docker images
 
 

其中:

  • REPOSITORY:表示镜像的仓库源

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

  • IMAGE ID:镜像ID

  • CREATED:镜像创建时间

  • SIZE:镜像大小

命令的选项有:

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

其中最常用的为 

docker images -qa

  

搜索

docker search [镜像名]

 

 

常见的命令选项有:

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

 

下载镜像

docker pull [镜像名]

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

 

删除镜像文件

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:容器内路径

  

不管容器是否启动,拷贝都会生效

 

posted @ 2020-07-31 23:57  暮良文王  阅读(345)  评论(0编辑  收藏  举报