记住:容器是基于镜像的,就像虚拟机也是基于镜像一样的

1.常用的Docker基础命令总结


2.命令的详细说明与演示

(1)docker create
docker create 命令为指定的镜像(image)添加了一个可读写层,构成了一个新的容器,但是容器是基于其他的镜像的而创建的,注意,这个容器并没有运行

(2)docker start
Docker start命令为容器文件系统创建了一个进程隔离空间。注意,每一个容器只能够有一个进程隔离空间

(3)docker run

docker start 和 docker run命令有什么区别

从图片可以看出,docker run 命令先是利用镜像创建了一个容器,然后运行这个容器。
这个命令非常的方便,并且隐藏了两个命令的细节,但从另一方面来看,这容易让用户产生误解。
docker run命令类似于git pull命令。git pull命令就是git fetch 和 git merge两个命令的组合
同样的,docker run就是docker create和docker start两个命令的组合

docker run :创建一个新的容器并运行一个命令
参数的含义:
OPTIONS说明:

-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;-d: 后台运行容器,并返回容器ID;-i: 以交互模式运行容器,通常与 -t 同时使用;-P: 随机端口映射,容器内部端口随机映射到主机的高端口-p: 指定端口映射,格式为:主机(宿主)端口:容器端口-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;--name="nginx-lb": 为容器指定一个名称;--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;-h "mars": 指定容器的hostname;-e username="ritchie": 设置环境变量;--env-file=[]: 从指定文件读入环境变量;--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;-m :设置容器使用内存最大值;--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;--link=[]: 添加链接到另一个容器;--expose=[]: 开放一个端口或一组端口;--volume , -v: 绑定一个卷

实例
使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为mynginx。

docker run --name mynginx -d nginx:latest

(4)docker ps
docker ps 命令会列出所有运行中的容器。这隐藏了非运行态容器的存在,如果想要找出这些容器,我们需要使用下面这个命令。

(5)docker ps –a
docker ps –a命令会列出所有的容器,不管是运行的,还是停止的。

(6)docker images
docker images命令会列出了所有顶层(top-level)镜像。
实际上,在这里我们没有办法区分一个镜像和一个只读层,所以我们提出了top-level镜像。
只有创建容器时使用的镜像或者是直接pull下来的镜像能被称为顶层(top-level)镜像,并且每一个顶层镜像下面都隐藏了多个镜像层。

(7)docker images –a
docker images –a命令列出了所有的镜像,也可以说是列出了所有的可读层。
如果你想要查看某一个image-id下的所有层,可以使用docker history来查看。

(8)docker stop
docker stop命令会向运行中的容器发送一个SIGTERM的信号,然后停止所有的进程。

(9)docker pause
docker stop和docker kill命令会发送UNIX的信号给运行中的进程,docker pause命令则不一样,
它利用了cgroups的特性将运行中的进程空间暂停。
但是这种方式的不足之处在于发送一个SIGTSTP信号对于进程来说不够简单易懂,以至于不能够让所有进程暂停。


(10)docker rm
docker rm命令会移除构成容器的可读写层。注意,这个命令只能对非运行态容器执行

(11)docker rmi
docker rmi 命令会移除构成镜像的一个只读层。
你只能够使用docker rmi来移除最顶层(top level layer)(也可以说是镜像),你也可以使用-f参数来强制删除中间的只读层。

(12)docker commit
docker commit命令将容器的可读写层转换为一个只读层,这样就把一个容器转换成了不可变的镜像。

(13)docker build
docker build命令非常有趣,它会反复的执行多个命令。

我们从上图可以看到,build命令根据Dockerfile文件中的FROM指令获取到镜像,然后重复地run(create和start)、修改、commit。
在循环中的每一步都会生成一个新的层,因此许多新的层会被创建。

(14)docker exec
docker exec 命令会在运行中的容器执行一个新进程。

(15)docker inspect or
docker inspect命令会提取出容器或者镜像最顶层的元数据 。

(16)docker save
docker save命令会创建一个镜像的压缩文件,这个文件能够在另外一个主机的Docker上使用。
和export命令不同,这个命令为每一个层都保存了它们的元数据。这个命令只能对镜像生效。

(17)docker export
docker export命令创建一个tar文件,并且移除了元数据和不必要的层,将多个层整合成了一个层,只保存了当前统一视角看到的内容(注expoxt后的容器再import到Docker中,通过docker images –tree命令只能看到一个镜像;
而save后的镜像则不同,它能够看到这个镜像的历史镜像

(18)docker history
docker history命令递归地输出指定镜像的历史镜像。

企业版Docker2——Docker基础命令详解相关推荐

  1. docker常用命令详解

    docker常用命令详解 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备忘记录下来. 根据自己的理解,总的来说分为以下几种: Doc ...

  2. docker ps命令详解 列出运行中的容器

    docker ps命令详解 列出运行中的容器 使用docker ps命令即可列出运行中的容器,执行该命令后,会出现如下7列表格 CONTAINER_ID      表示容器ID IMAGE       ...

  3. 华为eNSP模拟器软件介绍和基础命令详解

    目录 前言 eNSP模拟器介绍 软件特点 基础命令详解 前言 eNSP是图形化网络仿真平台,该平台通过对真实网络设备的仿真模拟,帮助广大ICT从业者和客户快速熟悉华为数通系列产品,了解并掌握相关产品的 ...

  4. docker images 命令详解

    [原文链接]docker images 命令详解 文章目录 一.docker images 命令选项 二.docker images 使用实例 2.1 显示最近创建的镜像 2.2 根据镜像名和tag值 ...

  5. docker inspect命令详解

    docker inspect命令详解 1.作用 获取容器/镜像的元数据(JSON格式) 2.语法格式 docker inspect [OPTIONS] NAME|ID [NAME|ID...] -f ...

  6. docker build命令详解_Docker镜像与容器常用命令图文详解

    一.系统命令 #查看docker版本 docker version #查看docker的系统信息,包含镜像容器的数量 docker info #查看docker的所有命令 docker --help ...

  7. Docker基础03--Dockerfile详解与镜像发布--(狂神说docker学习笔记)

    文章目录 1. Dockerfile介绍 2. Dockerfile指令说明 3. 制作Centos镜像 3.1 编写Dockerfile的文件 3.2 通过这个文件构建镜像(注意最后加个点!!!) ...

  8. docker build命令详解_Docker 搭建你的第一个 Node 项目到服务器

    本文你能学到什么 Docker 是什么 Docker 概念 关于 Docker 的概念是确实不太好总结,下面我通过四点向你说明 Docker 到底是个什么东西. Docker 是世界领先的软件容器平台 ...

  9. Docker基础入门详解

    一.产生背景 在传统软件开发流程中,研发程序员将功能代码研发完成后,交由测试人员进行测试,最后通过运维人员部署上线.但是在这个过程中,常常因为环境问题.配置问题.软件版本问题等等诸多因素,造成一些问题 ...

最新文章

  1. python数据结构学习笔记(五)
  2. Linux下常用的命令
  3. 代码review,瑞出事来了!
  4. RTT学习笔记2-线程
  5. vs2010 如何更改界面
  6. python全套视频免费教程_《python免费视频教程33》 请问谁有靠谱的Python全套视频教程,求推荐分享...
  7. lnmp一键安装包 mysql_CentOS7下安装lnmp一键安装包
  8. Excel中纵向查找函数-VLOOKUP函数
  9. html外链视频,WordPress文章内容中插入外链视频的通用iframe方法
  10. Microsoft-Yahoo: Not Again. Why Again?
  11. 在uni-app中使用腾讯视频插件播放视频
  12. 灵飞经3 印神无双 第十四章 印神古墓 3
  13. mysql出现表warning_查看mysql的warnings
  14. Final SwfPlayer下载后在安卓12上玩宇宙的刻度2
  15. 电磁兼容(EMC):工程师必备之硬件EMC设计规范
  16. 【面试题001】最强java八股文
  17. 纯视觉3D目标检测新SOTA!STS:基于Camera的深度估计新方法
  18. NORDIC蓝牙芯片NRF51系列蓝牙4.0NRF51822/51802/51422/51824
  19. 视频直播常见问题与解决办法汇总
  20. 我的一个项目:项目可行性分析报告

热门文章

  1. 2014年百度之星程序设计大赛 - 资格赛 (未完成)
  2. VScode格式化时 标签属性不换行
  3. 【EasyRL强化学习学习笔记】01_相关原理与概述
  4. Tomcat tomcat-users xml 配置用户
  5. 【钓鱼】与【反钓鱼】的技术剖析
  6. 黑苹果 Catalina 10.15 安装镜像集中营
  7. SQL解惑-有趣的数值累加游戏-orastar
  8. python github 12306 文贤平_GitHub - itsmartkit/12306-Ticket-Booking: 12306自动抢票系统(2020-01-10)...
  9. 长期带眼镜如何保护你观赏世界的眼睛
  10. 网盘搜索引擎汇总——快速搜索你想要的资料