Docker学习总结(三)--常用命令
镜像相关命令
查看镜像
docker images
返回列表字段含义如下:
| 字段名称 | 字段含义 |
|---|---|
| REPOSITORY | 镜像名称 |
| TAG | 镜像标签 |
| IMAGE ID | 镜像 ID |
| CREATED | 镜像创建日期 |
| ZISE | 镜像大小 |
注:镜像文件都存储在宿主机的 /var/lib/docker 目录下
搜索镜像
从网络中搜索镜像:
docker search 镜像名称
返回列表字段含义如下:
| 字段名称 | 字段含义 |
|---|---|
| NAME | 镜像名称 |
| DESCRIPTION | 镜像描述 |
| STARS | 用户评价 |
| OFFICIAL | 是否官方 |
| AUTOMATED | 自动创建,表示该镜像由 Docker Hub 自动构建流程创建的 |
拉取镜像
docker pull 镜像名称
例如:拉取 Centos7 镜像
docker pull centos:7
删除镜像
按镜像 ID 删除:
docker rmi 镜像ID
按镜像名称删除:
docker rmi 镜像名称
删除所有镜像:
docker rmi `docker images -q`
按条件删除镜像:
// 镜像名称包含关键字,tomcat 为关键字
docker rmi --force `docker images | grep tomcat | awk '{print $3}'`
// 没有打标签
docker rmi `docker images -q | awk '/^<none>/ { print $3 }'`
容器相关命令
查看容器
查看正在运行的容器:
docker ps
查看所有容器:
docker ps -a
查看最后一次运行的容器:
docker ps -l
查看停止的容器:
docker ps -f status=exited
创建容器与启动容器
创建容器命令:
docker run
常用参数说明:
| 参数名称 | 参数含义 |
|---|---|
| -i | 表示运行容器 |
| -t | 表示容器启动后进入其命令行。-i -t 两个参数同时使用,表示容器创建后直接登录 |
| -name | 为创建的容器命名 |
| -v | 表示目录映射关系 (前者是宿主机目录,后者是映射到宿主机的目录)。可以使用多个 -v 做多个目录或文件映射。 |
| -d | 表示创建一个守护式容器中后台运行。 |
| -p | 表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个 -p 做多个端口映射。 |
- 交互式方式创建容器
docker run -it -name=容器名称 镜像名称:标签 /bin/bash
注:/bin/bash 的作用是因为 docker 后台必须运行一个进程,否则容器就会退出,在这里表示启动容器后启动 bash。
- 守护式方式创建容器
docker run -di --name=容器名称 镜像名称:标签
登录守护式容器:
docker exec -it 容器名称(或者容器id) /bin/bash
- 退出容器
exit
注意:交互式方式创建的容器,退出之后容器就关闭了。而守护式容器还可以正常运行。
停止与启动容器
停止容器:
docker stop 容器名称(或者容器ID)
启动容器:
docker start 容器名称(或者容器ID)
文件拷贝
从宿主机拷贝到容器中:
docker cp 需要拷贝的文件或目录 容器名称:容器目录
从容器拷贝到宿主机中:
docker cp 容器名称:容器目录 需要拷贝的文件或目录
目录挂载
将宿主机目录与容器目录进行映射,这样就可以通过修改宿主机的文件来影响容器:
创建容器时添加:
docker run -di -v 宿主机目录:容器目录
例如:
docker run -di -v /user/local/myhtml:/user/locar/myhtml --name=mycentos3 centos:7
如果映射的是多级目录,可能会出现权限不足的提升。这是因为 CentOS7中的安全模块 selinux 把权限禁掉了,需要在执行命令的时候添加一个参数来解决这个问题:
--privileged=true
数据卷管理
查看数据卷列表
docker volume ls
创建数据卷
docker volume create 数据卷名
删除数据卷
docker volume rm 数据卷名
清除没有挂载的数据卷
docker volume prune
查看数据卷详情
docker volume inspect 数据卷名
查看容器信息
可以通过如下命令查看容器运行的各种信息:
docker inspect 容器名称(容器ID)
但是这样显示的信息太多了,我们可以只查看要关注的字段,例如,查看 IP 地址:
docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称(或容器ID)
查看容器的进程,不加容器名即查看所有
docker top 容器名
查看容器的CPU,内存,IO 等使用信息
docker stats 容器名
查看容器日志
docker logs 容器名
删除容器
删除指定的容器:
docker rm 容器名称(或容器ID)
删除所有容器:
docker rm `docker ps -a -q`
Docker学习总结(三)--常用命令的更多相关文章
- Docker学习(三)认识Docker和常用命令
Docker学习(三)认识Docker和常用命令 Docker体系结构 docker服务端,作为服务的提供方,核心进程 docker daemon,所有docker命令都是通过这个进程完成的 REST ...
- Oracle学习笔记三 SQL命令
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)
- Docker学习总结之Run命令介绍
Docker学习总结之Run命令介绍 本文由Vikings(http://www.cnblogs.com/vikings-blog/) 原创,转载请标明.谢谢! 在使用Docker时,执行最多的命令某 ...
- Docker学习(三): Dockerfile指令介绍
特别声明: 博文主要是学习过程中的知识整理,以便之后的查阅回顾.部分内容来源于网络(如有摘录未标注请指出).内容如有差错,也欢迎指正! =============系列文章============= 1 ...
- redis学习-集合set常用命令
redis学习-集合set常用命令 1.sadd:添加一个元素到集合中(集合中的元素无序的并且唯一) 2.smembers:查看集合中所有的元素(上图事例) 3.srem:删除结合中指定的元素 4 ...
- redis学习-散列表常用命令(hash)
redis学习-散列表常用命令(hash) hset,hmset:给指定散列表插入一个或者多个键值对 hget,hmget:获取指定散列表一个或者多个键值对的值 hgetall:获取所欲哦键值以及 ...
- Hexo系列(三) 常用命令详解
Hexo 框架可以帮助我们快速创建一个属于自己的博客网站,熟悉 Hexo 框架提供的命令有利于我们管理博客 1.hexo init hexo init 命令用于初始化本地文件夹为网站的根目录 $ he ...
- windows下docker的安装及常用命令学习
docker search 镜像名 本文主要介绍Docker在Windows下的安装.关于Docker的介绍和文档在其官网中可以找到:http://www.docker.com .安装环境:Windo ...
- Docker系列(三)常用命令
命令说明 docker pull 格式: docke pull [OPTIONS] NAME[:TAG] 作用:下载名称为 name 的镜像 例子: sudo docker pull dl.docke ...
随机推荐
- jQuery入门一(jQuery下载以及基本语法)
1. jQuery简介 jQuery是一个快速.简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架).jQuery设计的宗旨是 ...
- UML同一建模语言
结构型图:描述系统静态结构,显示系统类之间的静态关系. 行为型图:描述系统的动态属性,显示系统元素如何协作产生满足要求的系统行为. 类图分类名,属性清单,方法清单,性质清单几层 类之间的关系:1 一般 ...
- TestNG中DataProvider的用法二:简单的数据驱动
@DataProvider标记的方法除了可以返回数组外,还可以返回一个Iterator,这样的好处是不用把所有的测试数据都加载到内存中,而是需要的时候就读一条. 下面的例子就使用了Iterator,然 ...
- java数组扩容
有些时候使用数组代替栈,玩意数组容量不够需要扩容 则: 1.Array.toString();直接遍历打印数组 2.数组扩容采用Array.copyOf(),直接实现数组扩容功能,非常强大 (实际 ...
- Redis优化建议
优化的一些建议 1.尽量使用短的key 当然在精简的同时,不要完了key的"见名知意".对于value有些也可精简,比如性别使用0.1. 2.避免使用keys * keys *, ...
- 深入Apache NiFi 之源码学习
前言 要问 Hortonworks 这家公司最有产品力的产品是什么,我觉得是 Apache NiFi.去年Cloudera 和 Hortonworks 合并之后,以 Cloudera 为主,两家公司进 ...
- 记一次使用LR测试UDP和TCP的过程
背景 最近项目要做性能测试,要出要一份性能报告,让我出一个有关Tcp和Udp的功能模块的测试,流程大概是这样,先走TCP协议协商一下会话,协商成功后走Udp收发数据. 有点简单啊,自己写个功能模块测一 ...
- HelloDjango 系列教程:博客从“裸奔”到“有皮肤”
文中涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 在此之前我们已经编写了博客的首页视图,并且配置了 URL 和模板,让 django 能够正确地处理 HTTP 请求并返回合适的 ...
- Java——检测其他线程的状态以及启动已死亡的线程
这次这个的思路是在主类中维护一个map,map的key是线程名,value是线程的状态,然后创建周期执行的线程通过检测这个map来判断进程的状态,如果有死亡的进程就把该进程启动. 首先是主类,这里的m ...
- 神奇的 SQL 之温柔的陷阱 → 三值逻辑 与 NULL !
前言 开心一刻 一个中国小孩参加国外的脱口秀节目,因为语言不通,于是找了一个翻译. 主持人问:“Who is your favorite singer ?” 翻译:”你最喜欢哪个歌手啊 ?” 小孩 ...