常用命令

查看版本

docker version

查看系统信息

docker info

显示 Docker 系统信息,包括镜像和容器数。

搜索镜像

docker search keyword

从 Docker Hub 中搜索符合条件的镜像。

拉取镜像

docker pull imagename

从 Docker Hub 中拉取或者更新指定镜像。

列举镜像

docker images

查看当前已经下载完毕的镜像

删除镜像

docker rmi imagename

强制删除

docker rmi -f imagename

删除多个镜像

docker rmi image:latset postgres:lastet

删除指定名字的镜像

查看镜像创建历史

docker history imagename

查看指定镜像的创建历史

查看当前的容器

docker ps

启动、停止、重启、杀死指定容器

docker start containername
docker stop containername
docker restart containername
dcoker kill containername

启动、停止和重启一个或多个指定容器。

保存和加载镜像状态

docker save -i "debian.tar"
docker save > "debian.tar"

将指定镜像保存成 tar 归档文件, docker load 的逆操作。保存后再加载(saved-loaded)的镜像不会丢失提交历史和层,可以回滚。

docker load < debian.tar
docker load -i "debian.tar"

从 tar 镜像归档中载入镜像, docker save 的逆操作。保存后再加载(saved-loaded)的镜像不会丢失提交历史和层,可以回滚。

docker export <container>
docker export nginx-01 > export.tar

将指定的容器保存成 tar 归档文件, docker import 的逆操作。导出后导入(exported-imported))的容器会丢失所有的提交历史,无法回滚。

cat export.tar  "p">| docker import - imported-nginx:latest
docker import http://example.com/export.tar

从归档文件(支持远程文件)创建一个镜像, export 的逆操作,可为导入镜像打上标签。导出后导入(exported-imported))的容器会丢失所有的提交历史,无法回滚。

命令集结

Docker 命令集

  attach   commit   diff     export   history import  insert    kill       login   port
  pull restart rmi save start tag version build cp events
  help images info inspect load logs ps push rm run
  search stop top wait

docker help:

  docker help [COMMAND]
  例: docker help run
   docker version: 显示Docker版本
  docker info: 显示Docker信息

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

  docker attach [OPTIONS] Container

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

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

sudo docker run -i -t ubuntu:14.04 /bin/bash         启动一个新的Ubuntu容器
sudo docker run --rm -i -t ubuntu:14.04 /bin/bash 建议新手测试加上 -—rm
sudo docker run -i -t --name "private_container" ubuntu:14.04 /bin/bash

docker ps: 列出当前容器

  docker ps [OPTIONS]

  命令参数:

-a, --all=false            显示所有容器,包括当前没有运行的容器
-f, --filter=[] 按条件过滤容器, 可选的过滤选项:
exited=<int> 容器的返回值
-l, --latest=false 显示最新的一个容器
-n num 显示最新的N个容器
--no-trunc=false 不要截断输出
-q, --quiet=false 仅显示容器ID
-s, --size=false 显示容器大小 docker ps 当前正在运行的容器
docker ps -a 当前正在运行或是停止的容器
docker ps -a -q --no-trunc 获得当前所有容器的ID,不截断输出
docker rm $(echo $(docker ps -q --no-trunc) $(dockerps -a -q--no-trunc) | sed 's|\s|\n|g' |sort | uniq -u)
删除当前不在运行状态的容器ID,也可以把前面改成docker rm

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 images -a -q --no-trunc 显示当前仓库中的镜像与临时镜像的ID,不截断输出

docker logs: 显示容器的日志

docker logs CONTAINER
命令参数:
-f, --follow=false 等待容器后续的输出(类似 tail -f)
-t, --timestamps=false 显示时间戳
--tail="all" sudo docker logs 7bb0e258aefe
sudo docker logs --timestamps=true 7bb0e258aefe
sudo docker logs --timestamps=true 7bb0e258aefe > 7bb0e258aefe.log
终端A:
sudo docker logs --follow 7bb0e258aefe
终端B:
sudo docker attach 708cc7ec0f23 (随便执行一些命令可以看到终端A会有实时输出)

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

docker inspect CONTAINER|IMAGE [CONTAINER|IMAGE...]
  命令参数:
  -f, --format="" 选择输出内容,–format="{{.NetworkSettings.IPAddress}}" sudo docker inspect 7bb0e258aefe
sudo dockerinspect --format "{{.State.Pid}}" 7bb0e258aefe

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

Docker stop [OPTIONS] CONTAINER [CONTAINER...]
  命令参数:
  -t, --time=10 杀掉容器进程之前,等待的时间
  例子: sudo 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
  例子: sudo docker start 7bb0e258aefe

docker restart: 重启运行中的容器

docker restart [OPTIONS] CONTAINER [CONTAINER...]
  命令参数:
  -t, --time=10 杀掉容器进程之前,等待的时间
  例子: sudo docker restart 7bb0e258aefe

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 rm 708cc7ec0f23 删除容器
docker rm $(docker ps -a -q) 删除所有容器

docker top: 查看容器输出

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

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 search: 在Docker Hub上寻找镜像

docker search TERM
  命令参数:
  --automated=false 使用Github或BitBucket的源代码自动构建
  --no-trunc=false 不要截断输出
  -s, --stars=0 只显示Star数量超过N的镜像
  例子:
  docker search --starts=10 ubuntu

docker pull: 从远程拉取镜像

docker pull NAME[:TAG]
例子:
docker pull ubuntu:latest

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

docker push NAME[:TAG]
例子:
docker push hyzhou/ubuntu:3.2.3

docker diff: 列出镜像中文件和目录的变化

docker diff CONTAINER
命令输出: 输出一共有三种
A- Add
D- Delete
C- Change
例子:
diff显示的是镜像和当前运行的容器之间的区别,所以diff的基础是IMAGE
下面例子中的b705fc4f4a50和708cc7ec0f23,内容其实是一样的 sudo docker ps -a
CONTAINERID IMAGE COMMAND CREATED STATUS
b705fc4f4a50 new:latest "/bin/bash" 49 seconds ago Up 49 seconds
708cc7ec0f23 ubuntu:latest "/bin/bash" 9 minutes ago Up 9 minutes
sudo docker diff 7bb0e258aefe
C/root
A/root/new.txt
sudo docker diff b705fc4f4a50

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

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
命令参数:
-a, --author="" 作者信息,"John Hannibal Smith <hannibal@a-team.com>"
-m, --message="" 提交信息
-p, --pause=true 在提交镜像时暂停容器 sudo docker ps
ID IMAGE COMMAND CREATED STATUS
c3f279d17e0a ubuntu:12.04 /bin/bash 7 days ago Up 25 hours
197387f1b436 ubuntu:12.04 /bin/bash 7 days ago Up 25 hours
docker commitc3f279d17e0a Hyzhou/my_ubuntu:3.2.3
docker commit -a "Hyzhou<hyzhou@qq.com>" -m "addthe new software" c3f279d17e0aHyzhou/my_ubuntu:3.2.3
docker images
REPOSITORY TAG ID CREATED VIRTUAL SIZE
Hyzhou/my_ubuntu 3.2.3 f5283438590d 16 seconds ago 335.7 MB

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="" 读取一个压缩文件作为输入,默认是标准输入流 docker load --input ubuntu.tar 读取ubuntu.tar作为镜像
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

Docker 常用命令和命令集结的更多相关文章

  1. docker 常用的容器命令

    容器命令 # --name 给容器起名 # -p 端口映射 # -d 后台启动 # -it 交互模式启动 # 交互模式启动 # docker run -it 镜像名/id /bin/bash # do ...

  2. docker常用配置以及命令

    1. Docker基本概念 1.1 什么是 docker hub DockHub是一个仓库 https://hub.docker.com/ 仓库是集中存放镜像文件的场所 仓库分为公开仓库(Public ...

  3. 02-docker入门-docker常用的一些命令

    在这里,有必要先对ducker在做一次介绍 ducker 是一个容器. 容器内部运行的是一个系统. 系统内部安装好了要调试 / 发布的工程,然后这个系统被打包成了一个镜像. ducker 就是这个镜像 ...

  4. 关于Docker 常用命令

    Docker 常用命令 分类列一下常用的CLI命令 仓库相关 search/ pull / push / login etc. 例:docker pull ubuntu 从仓库下载ubuntuimag ...

  5. docker专题(2):docker常用管理命令(上)

    http://segmentfault.com/a/1190000000751601 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备 ...

  6. 【Docker】(3)---linux部署Docker、Docker常用命令

    linux部署Docker.Docker常用命令 本次部署Linux版本:CentOS 7.4 64位. 说明: 因为Docker是基于Linux 64bit的 所以Docker要求64位的系统且内核 ...

  7. CentOS docker 常用命令

    yum install docker 安装服务 systemctl start docker.service 启动服务 systemctl enable docker.service 开机启动服务 d ...

  8. docker 系列 - 基础镜像环境和Docker常用命令整理

    =======================docker 基础镜像环境 alpine=======================可以使用 docker search 命令搜索指定的 image, ...

  9. Docker常用命令(二)

    Docker常用命令 查看Docker所有正在运行的容器 docker ps 查看Docker已退出的容器 docker ps -a 查看Docker所有镜像 docker images 删除镜像 删 ...

随机推荐

  1. Centos安装smokeping教程

    Centos安装smokeping教程 一 .安装基本依赖包 ntpdate time.windows.com #64bit rpm -Uhv http://apt.sw.be/redhat/el6/ ...

  2. Cesium学习笔记(四)Camera

    http://blog.csdn.net/HobHunter/article/details/74909641 Cesium 相机控制场景中的视野.操作相机的方法有很多,如旋转,缩放,平移和飞到目的地 ...

  3. day41 网络编程

    目录 网络架构 单机架构 CS架构 BS架构 互联网和互联网的组成(教材版) 边缘部分: 核心部分: 互联网的组成 硬件 软件 打开网页的过程(科普版) 物理层 数据链路层 网络层 传输层 抽象层 网 ...

  4. cuda_device_functions.h:32:31: fatal error: cuda/include/cuda.h: 没有那个文件或目录

    问题在复现工程https://github.com/google/hdrnet时遇到. 现象: 解决办法: 修改hdrnet文件夹下的Makefile文件:在在nvcc里面添加路径:-I /usr/l ...

  5. 4.Linux的进程

    4.1 Linux的进程 4.1.1 进程的概述 有关进程的一些基本概念: 1.什么是进程: 当程序被触发后,执行者的权限与属性.程序的程序代码与所需的数据都会被加载到内存中,操作系统并给予这个内存内 ...

  6. [CodeForces] 274E Mirror Room

    题意翻译 有一个n*m的格子图,其中有一些是黑色的,另一些为白色. 从某个白色格子的中心点向左上(NW),左下(SW),右上(NE),右下(SE)四个方向中的一个发出一束光线,若光线碰到黑色格子或者墙 ...

  7. python常用三方库 - openpyxl

    目录 python常用三方库 - openpyxl 读取Excel文件 写入Excel文件 python常用三方库 - openpyxl openpyxl是一个第三方库, 可以处理xlsx格式的Exc ...

  8. MySQL之SQL优化详解(一)

    目录 慢查询日志 1. 慢查询日志开启 2. 慢查询日志设置与查看 3.日志分析工具mysqldumpslow   序言: 在我面试很多人的过程中,很多人谈到SQL优化都头头是道,建索引,explai ...

  9. 【[Offer收割]编程练习赛14 D】剑刃风暴(半径为R的圆能够覆盖的平面上最多点数目模板)

    [题目链接]:http://hihocoder.com/problemset/problem/1508 [题意] [题解] 求一个半径为R的圆能够覆盖的平面上的n个点中最多的点数; O(N2log2N ...

  10. Windows读取NXP MiFare Ultralight C类型NFC卡片的信息

    1,读取 我们需要外接一个NFC Reader让Windows可以读取NFC卡片的内容. 因为特殊原因,我们选择了Sony rc-s380 NFC Reader.相关介绍 我们需要下载并安装NFC P ...