Docker详解(二)
序言:上一章我们初步介绍了一下Docker的概念,那么这次我们着手于Docker的使用,了解一下常见的Docker的操作命令。此外不管学习什么东西,我们不但要了解纵向的知识体系,最好能加上横向的扩展,进行类比,Docker的命令风格和Git有着种种相似。好了废话不多说,我们开始Docker详解第二章吧。
1.Docker常用命令
开胃菜,Docker的帮助命令
docker version
查看docker的版本信息docker info
显示 Docker 系统信息,包括镜像和容器数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:容器内路径 目标主机路径
从容器内拷贝文件到主机上
最新文章
- scp报错 -bash: scp: command not found
- RedHat Linux RHEL6配置本地YUM源
- ArrayList的使用方法(转载)
- ios 滚动视图响应touchesBegin,touchesEnd等方法
- div 居中
- linux 查找目录或文件
- PRML Chapter 2. Probability Distributions
- Git+Gradle+Eclipse构建项目
- OS X 升级 Yosemite 后,Intellij IDEA 与 VirtualBox 启动失败
- 软件工程随堂小作业——随机四则运算Ⅱ之算法思路(C++)
- 【不积跬步,无以致千里】Linux下启动Oracle服务和监听程序
- nodejs 在headers添加内容发送到后端
- StoreType.java 存储方式
- go语言time包的学习(Time,Location,Duration,Timer,Ticker)
- Windows环境——MySQL安装及配置
- Ionic 入门与实战之第二章第一节:Ionic 环境搭建之开发环境配置
- 证明最大公约数Stein算法(高精度算法)
- asp.net core session的使用
- 动态改变APP图标
- JavaWeb:c3p0配置问题-----java.sql.SQLException: Connections could not be acquired from the underlying database!
热门文章
- 为什么unsigned (-1)表示无符号整数的最大值
- 「求助」关于MacOS 适配不了SOIL的问题 以及我自己愚蠢的解决办法
- PDF.js 详情解说
- as更新3.0.1的时候的编译异常
- Appium+python自动化(三十)- 实现代码与数据分离 - 数据配置-yaml(超详解)
- 大白话5分钟带你走进人工智能-第32节集成学习之最通俗理解XGBoost原理和过程
- 域名、主机名、网站名以及 URL 基础概念
- Sqlserver 使用.net查询被事务锁住处理
- [HNOI2009]双递增序列(动态规划,序列dp)
- 2019Hexo博客Next主题深度美化 打造一个炫酷博客(2)-奥怪的小栈