镜像相关命令

查看镜像

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 做多个端口映射。
  1. 交互式方式创建容器
docker run -it -name=容器名称 镜像名称:标签 /bin/bash

注:/bin/bash 的作用是因为 docker 后台必须运行一个进程,否则容器就会退出,在这里表示启动容器后启动 bash

  1. 守护式方式创建容器
docker run -di --name=容器名称 镜像名称:标签

登录守护式容器:

docker exec -it 容器名称(或者容器id) /bin/bash
  1. 退出容器
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学习总结(三)--常用命令的更多相关文章

  1. Docker学习(三)认识Docker和常用命令

    Docker学习(三)认识Docker和常用命令 Docker体系结构 docker服务端,作为服务的提供方,核心进程 docker daemon,所有docker命令都是通过这个进程完成的 REST ...

  2. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  3. Docker学习总结之Run命令介绍

    Docker学习总结之Run命令介绍 本文由Vikings(http://www.cnblogs.com/vikings-blog/) 原创,转载请标明.谢谢! 在使用Docker时,执行最多的命令某 ...

  4. Docker学习(三): Dockerfile指令介绍

    特别声明: 博文主要是学习过程中的知识整理,以便之后的查阅回顾.部分内容来源于网络(如有摘录未标注请指出).内容如有差错,也欢迎指正! =============系列文章============= 1 ...

  5. redis学习-集合set常用命令

    redis学习-集合set常用命令   1.sadd:添加一个元素到集合中(集合中的元素无序的并且唯一) 2.smembers:查看集合中所有的元素(上图事例) 3.srem:删除结合中指定的元素 4 ...

  6. redis学习-散列表常用命令(hash)

    redis学习-散列表常用命令(hash)   hset,hmset:给指定散列表插入一个或者多个键值对 hget,hmget:获取指定散列表一个或者多个键值对的值 hgetall:获取所欲哦键值以及 ...

  7. Hexo系列(三) 常用命令详解

    Hexo 框架可以帮助我们快速创建一个属于自己的博客网站,熟悉 Hexo 框架提供的命令有利于我们管理博客 1.hexo init hexo init 命令用于初始化本地文件夹为网站的根目录 $ he ...

  8. windows下docker的安装及常用命令学习

    docker search 镜像名 本文主要介绍Docker在Windows下的安装.关于Docker的介绍和文档在其官网中可以找到:http://www.docker.com .安装环境:Windo ...

  9. Docker系列(三)常用命令

    命令说明 docker pull 格式: docke pull [OPTIONS] NAME[:TAG] 作用:下载名称为 name 的镜像 例子: sudo docker pull dl.docke ...

随机推荐

  1. PTA L2-031 深入虎穴 非dfs的一点想法

    著名的王牌间谍 007 需要执行一次任务,获取敌方的机密情报.已知情报藏在一个地下迷宫里,迷宫只有一个入口,里面有很多条通路,每条路通向一扇门.每一扇门背后或者是一个房间,或者又有很多条路,同样是每条 ...

  2. 【微信小程序】微信小程序-实现tab

    一.前言 小程序开发中,有很多封装好的控件供开发者使用,但是,很常见的tab选项卡居然没有,只能自己搞一个. 实现原理也很简单,无非是用给view(tab)设置一个点击事件bintap,并且给view ...

  3. Java用户程序

    Java的用户程序分为两类:Java Application和Java Applet. 这两类程序在程序结构和执行机制上有一定的差异. Java Application是完整的程序,需要独立的Java ...

  4. k8s1.9.0安装--完整集群部署

    三.完整集群部署 - kubernetes-with-ca 1. 理解认证授权 1.1 为什么要认证 想理解认证,我们得从认证解决什么问题.防止什么问题的发生入手.防止什么问题呢?是防止有人入侵你的集 ...

  5. 💡我们的表单解决方案 el-form-renderer

    前言 本文将介绍我们的表单解决方案 @femessage/el-form-renderer,展示我们在 Vue 技术栈下,我们是如何处理以下问题的: 表单项动态显示或隐藏 表单数据联动 表单输入/输出 ...

  6. JS原生隐士标签扩展

    最近项目开发中,开发了不少的接口,有一个接口是这样子的.先从A公司拿到数据后,存放到我们公司数据库里,然后需要将数据展示给客户,下面这个界面,后台要实时刷新,后台写了个定时器,2S刷一次从后台拼接好H ...

  7. 文件A的内容复制到B

    1.脚本 from sys import argvfrom os.path import existsscript,from_file,to_file = argvprint("Copy f ...

  8. centos7更新yum库为aliyun库

    1. 备份原来的yum源$sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak 2.设置ali ...

  9. 【iOS】设备系统版本

    判断 iOS 系统的版本号,示例代码如下: NSLog(@"version--%d", [[[UIDevice currentDevice] systemVersion] floa ...

  10. 电信光猫带路由器(F452)的虚拟服务器端口映射

    现在电信宽带的光猫一般都自带路由器功能,为了方便运营商管理网络用户,电信公司插入了企业局域网,网络用户的光猫路由器都是这个局域网的节点.用户家里的电脑在网络中的结构位置一般如下所示: 互联网(公网)= ...