基础命令

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或者容器名

  1. 强制停止
  1. docker kill 容器ID或者容器名

删除已经停止的容器

docker rm 容器ID

如果需要一次性删除多个容器,可以使用:

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

或者

docker ps -a -q | xargs docker rm

查看日志

docker logs 容器 ID

通常添加如下选项:

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

查看容器内部

  1. 查看容器内部进程

    docker top 容器ID
  2. 查看容器内部细节

    docker inspect 容器ID

进入正在运行的容器

  1. exec 进入

    docker exec -it 容器ID /bin/bash

    在容器中打开新的终端,并且可以启动新的进程

  2. attach 进入

    docker attach 容器ID

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

拷贝

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

    docker cp 容器ID:容器内路径 目标的宿主机目录
  2. 从宿主机拷贝到容器:

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

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

 

作者:djz0306
链接:https://www.jianshu.com/p/b23a52771ca9
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

docker 常用命令备忘录的更多相关文章

  1. 关于Docker 常用命令

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

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

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

  3. Docker常用命令(二)

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

  4. Docker应用二:docker常用命令介绍

     Docker常用命令使用介绍 docker中常用的命令: 1.docker search image_name:搜查镜像 2.docker pull image_name:从镜像库中拉去镜像 3.d ...

  5. Docker常用命令汇总,和常用操作举例

    Docker命令 docker 常用命令如下 管理命令: container 管理容器 image 管理镜像 network 管理网络 node 管理Swarm节点 plugin 管理插件 secre ...

  6. 1021 docker常用命令和Jenkins搭建

    docker常用命令 1.镜像管理 docker pull (镜像名) # 默认拉取最新版本的镜像 docker pull (镜像名:版本号) #拉取指定版本的镜像 docker push (镜像名) ...

  7. Docker 常用命令——镜像

    Docker 常用命令 帮助命令 docker version    --版本信息 docker info       --详细信息 docker --help     --帮助 镜像命令 1.doc ...

  8. docker 常用 命令

    http://os.51cto.com/art/201409/451117.htm 2.1 在测试机启动容器,安装ssh docker run -i -t ubuntu /bin/bash #此方式运 ...

  9. Docker 常用命令总结

    Docker 常用命令总结   回到顶部 镜像相关 搜索 docker search *image_name* 下载 docker pull *image_name* 查看 docker images ...

随机推荐

  1. NanoPi arm架构下的程序 ./ 运行黑屏 Qt环境可运行

    首先之所以QtCreator环境下可直接运行,但是在终端下 ./ 则不能运行(黑屏但是不报错),判断肯定不是程序或者是库的问题.于是猜想是环境问题,即终端环境与QtCreator环境不同. 然后就查看 ...

  2. XSS与CSRF定义

    一. CSRF 1. CSRF的基本概念 跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通 ...

  3. JVM 学习笔记(四)

    回顾: 在之前的文章中,我们主要体现了当堆内存设置的比较小的情况下,比如:-Xmx20M -Xms20M,在项目运行的过程中,不断往内存中去添加对象, 这时候就会出现OOM,也就是内存溢出,本文章将展 ...

  4. Java对象与Json字符串的转换

    Java对象与Json字符串的转换 JSON是一种轻量级的数据交换格式,常用于前后端的数据交流 后端 : 前端 Java对象 > JsonString Java对象 < jsonStrin ...

  5. C#根据反射动态创建ShowDoc接口文本信息

    我目前每天主要工作以开发api为主,这都离不开接口文档.如果远程对接的话前端总说Swagger不清晰,只能重新找一下新的接口文档.ShowDoc就是一个不错的选择,简洁.大方.灵活部署. 但是话说回来 ...

  6. Go Pentester - TCP Scanner

    Simple Port Scanner with Golang Use Go‘s net package: net.Dial(network, address string) package main ...

  7. Ethical Hacking - GAINING ACCESS(17)

    CLIENT SIDE ATTACKS - Backdooring exe' s Download an executable file first. VEIL - FRAMEWORK A backd ...

  8. OSCP Learning Notes - Post Exploitation(2)

    Windows Post Exploitation Target Server: IE8-Win 7 VM 1. Download and upload the fgdump, PwDump7, wc ...

  9. [并发编程] -- 内存模型(针对JSR-133内存模型)篇

    并发编程模型 1.两个关键问题 1)线程之间如何通信 共享内存程之间共享程序的公共状态,通过写-读内存中的公共状态进行隐式通信 消息传递程之间没有公共状态,线程之间必须通过发送消息来显式进行通信 2) ...

  10. #python自动化测试#代码执行时间测量模块timeit

    1. timeit模块timeit模块可以用来测试一小段python代码的执行速度 class timeit.Timer(stmt = 'pass',setup = 'pass',timer=< ...