序言:上一章我们初步介绍了一下Docker的概念,那么这次我们着手于Docker的使用,了解一下常见的Docker的操作命令。此外不管学习什么东西,我们不但要了解纵向的知识体系,最好能加上横向的扩展,进行类比,Docker的命令风格和Git有着种种相似。好了废话不多说,我们开始Docker详解第二章吧。

Docker详解(一)
 

1.Docker常用命令

开胃菜,Docker的帮助命令

  1. docker version 查看docker的版本信息
  2. docker info 显示 Docker 系统信息,包括镜像和容器数
  3. docker --help Docker的帮助命令

 

1.1 镜像命令

①、docker images 列出本地主机上的镜像

参数说明:例:docker images -a

-a:列出本地所有的镜像(含中间镜像层)

-q:只显示镜像ID

--digests:显示镜像的摘要信息

--no-trunc:显示完整的镜像信息

各个选项说明:

REPOSITORY:表示镜像的仓库源

TAG:镜像的标签

IMAGE ID:镜像ID

CREATED:镜像创建时间

SIZE:镜像大小

同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。

如果你不指定一个镜像的版本标签,例如你只使用 ubuntu,docker 将默认使用 ubuntu:latest 镜像

 

 

②、docker search 从仓库中搜索指定的镜像

参数说明:例:docker serarch -s 10 tomcat

--no-trunc:显示完整的镜像描述

-s:列出收藏数不小于指定值的镜像

--automated:只列出 automated build类型的镜像

 

 

③、docker rmi -f 删除镜像

  • docker rmi -f 镜像ID 删除单个镜像
  • docker rmi -f 镜像名1:TAG 镜像名2:TAG 删除多个
  • docker rmi -f $(docker images -qa) 删除全部

 

 

④、docker pull 下载镜像

参数说明:例:docker pull tomcat

 

1.2 容器命令

注意:有镜像才能创建容器,这是一个根本前提

1.2.1 常用的容器命令

①、docker run [option] image [command] 新建并启动容器

参数说明:例:docker run -it centos /bin/bash

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

--name="容器新名字": 为容器指定一个名称;

-d: 后台运行容器,并返回容器ID,也即启动守护式容器;

-i:以交互模式运行容器,通常与 -t 同时使用;

-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;

-P: 随机端口映射;

-p: 指定端口映射;

 

②、docker ps 列出当前所有正在运行的容器

参数说明: 例:docker ps

-a:列出当前所有正在运行的容器+历史上运行过的

-l:显示最近创建的容器

-n:显示最近n个创建的容器

-q:静默模式,只显示容器编号

--no-trunc:不截断输出

 

③、退出容器,两种退出方式

exit 容器停止退出

ctrl + p + q 容器不停止退出

 

④、容器启停命令

  • 启动容器:docker start 容器ID或者容器名
  • 重启容器:docker restart 容器ID或者容器名
  • 停止容器:docker stop 容器ID或者容器名
  • 强制停止容器:docker kill 容器ID或者容器名

 

⑤、删除已停止的容器

  • 删除单个容器:docker rm 容器ID
  • 删除多个容器:docker rm -f $(docker ps -a -q)

 

1.2.2 重要的容器命令

①、 docker run -d 容器名 启动守护式容器

说明: Docker容器后台运行就必须有一个前台进程,容器运行的命令如果不是那些一直挂起的命令(比如运行top,tail),就是会自动退出的。

 

②、docker logs -f -t --tail 容器ID

-t:是加入时间戳

-f:跟随最新的日志打印

--tail:数字显示最后多少条

 

③、docker top 容器ID 查看容器内运行的进程

 

④、docker inspect 容器ID 查看容器内部细节

 

⑤、进入正在运行的容器并以命令行交互

  • docker exec -it 容器ID bashShell 在容器中打开新的终端,并且可以启动新的进程

 

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

 

⑥、docker cp 容器ID:容器内路径 目标主机路径 从容器内拷贝文件到主机上

最新文章

  1. scp报错 -bash: scp: command not found
  2. RedHat Linux RHEL6配置本地YUM源
  3. ArrayList的使用方法(转载)
  4. ios 滚动视图响应touchesBegin,touchesEnd等方法
  5. div 居中
  6. linux 查找目录或文件
  7. PRML Chapter 2. Probability Distributions
  8. Git+Gradle+Eclipse构建项目
  9. OS X 升级 Yosemite 后,Intellij IDEA 与 VirtualBox 启动失败
  10. 软件工程随堂小作业——随机四则运算Ⅱ之算法思路(C++)
  11. 【不积跬步,无以致千里】Linux下启动Oracle服务和监听程序
  12. nodejs 在headers添加内容发送到后端
  13. StoreType.java 存储方式
  14. go语言time包的学习(Time,Location,Duration,Timer,Ticker)
  15. Windows环境——MySQL安装及配置
  16. Ionic 入门与实战之第二章第一节:Ionic 环境搭建之开发环境配置
  17. 证明最大公约数Stein算法(高精度算法)
  18. asp.net core session的使用
  19. 动态改变APP图标
  20. JavaWeb:c3p0配置问题-----java.sql.SQLException: Connections could not be acquired from the underlying database!

热门文章

  1. 为什么unsigned (-1)表示无符号整数的最大值
  2. 「求助」关于MacOS 适配不了SOIL的问题 以及我自己愚蠢的解决办法
  3. PDF.js 详情解说
  4. as更新3.0.1的时候的编译异常
  5. Appium+python自动化(三十)- 实现代码与数据分离 - 数据配置-yaml(超详解)
  6. 大白话5分钟带你走进人工智能-第32节集成学习之最通俗理解XGBoost原理和过程
  7. 域名、主机名、网站名以及 URL 基础概念
  8. Sqlserver 使用.net查询被事务锁住处理
  9. [HNOI2009]双递增序列(动态规划,序列dp)
  10. 2019Hexo博客Next主题深度美化 打造一个炫酷博客(2)-奥怪的小栈