0.前言


  本章主要写一些怎么使用Docker,拉取镜像和创建容器等之类的Docker的常用基本操作。在开始写之前,大家需要明白一下几个名词的含义

  1.镜像:镜像是指一个类似于安装包的东西,尝试安装过电脑系统的同学应该知道各种雨林木风、番茄花园、大白菜等win7等win7镜像,其实说白了,就是安装系统的一个文件。在docker中也是这么个玩意,需要我们镜像仓库上下载

  2.容器:容器是指通过镜像构建的一个运行环境。例如我通过雨林木风的win7.gho安装好了win7系统,现在win7系统就是一个容器。

  3.镜像仓库:专门存放镜像的一个网站。docker的官方镜像仓库是:https://hub.docker.com/,因为访问速度慢,所以国内一般用阿里云仓库或者网易之类的。

1.拉取、查看、删除镜像


1.1 拉取镜像


  在docker中拉取镜像命令是

docker pull [镜像名称]

  例如我要拉取一个redis镜像,打开控制终端(windows可以使用powershell或者cmd命令)输入以下命令

docker pull redis

  我以powershell举例子,输入 docker pull redis,然后回车(PS:如果你身处国内,最好配置一下国内的镜像源,否则下载速度感人,如果不会配置,请参见我的第一篇文章《Docker快速入门系列——(一)介绍和配置Docker》)。

  

  敲完回车之后,就会变成下载docker会自动去镜像网站上下载redis,这里说明一下,如果你需要指定镜像版本,只需要在镜像后面追加@[版本号即可],如果没追加,默认为最新版本。以redis为例子,我想要使用redis1.0.1的版本就输入这个命令

docker pull redis@1.0.

  下载完成之后,就会变成这样。说明我们已经把redis镜像拉取到本地了

1.2 查看镜像


  在docker 中查看镜像的命令是

docker image ls

    命令会列出你当前所拉取的镜像名称,我这里一共拉取了redis、mongo、mysql、ubuntu四个镜像。回到前言上讲的,镜像就相当于安装包,我这里就相当于下载好了redis等安装包。

1.3 删除镜像


    在docker中删除镜像的命令是

docker image rm [镜像名称或者镜像ID]

  我们可以通过image rm 加上名称或者ID来删除一个镜像,这个ID就是我们在 docker image ls所列出的IMAGE_ID的值,当我们碰到镜像名称一样,我们就可以通过唯一ID确定删除哪个镜像。尝试删除redis镜像

docker image rm redis

  上图表示删除成功

2. 创建容器


  容器是构建在镜像之上的,如果把镜像比喻成安装包,那么容器就是你安装成功的软件,拿微信举例子,你在微信官网上下载一个安卓的安装包,这个微信安装包就是镜像,然后你在你的红米手机上安装成功了,会显示微信图标,然后你可以使用微信这个软件。则微信这个软件就是构建出来的容器。如果你通过某些奇淫巧技,让你的红米手机可以安装两个或者更多个微信且同时存在,那么就是说你构建了很多容器

  2.1 创建容器


  你可以通过以下命令来创建一个容器:

docker run -d -p [主机端口号]:[容器端口号] --name [自定义名称] [镜像名称]

  参数解释:

  docker run:表示创建或者运行某个容器

  -d:表示使用后台进程(就是不阻塞当前进程)

  -p:表示指定端口号

  [主机端口号]:表示安装docker的那台机子通过哪个端口与容器通信

  [容器端口号]:表示创建的容器通过哪个端口与主机通信

  --name [自定义名称]:表示给你创建的容器取个名字

  [镜像名称]:不用多说,就是我们拉取下来的镜像

  我们尝试运行一下redis,输入以下命令(首先确保你的redis这个镜像存在)

docker run -d -p : --name redis01 redis

  运行结果如下,会返回一个64位长度的字符串,这个就是容器的id,也是唯一的。

  

  2.2 查看运行的容器


  运行完容器之后,怎么看启动成功了,通过以下命令

docker ps

  

  可以看到status那一栏显示Up状态,则代表成功了。现在我们通过软件连接一下,看下redis服务器是否能够正常运行

  图上可以看到,我们已经成功运行了redis容器

  2.3 停止和删除容器


  运行完容器,怎么停止和删除呢,通过以下命令(要先停止才能删除容器)

  停止:

docker stop [容器名称]

  删除:

docker rm [容器名称]

  参数解释:

  [容器名称]:你可以使用--name 参数后面自己定义的名字,或者使用返回给你的64位字符长度的ID

  停止redis容器,会返回redis容器的名字

  删除redis容器,也会返回redis容器的名字

  

3. 总结


  本章主要讲了镜像和容器的关系。

Docker最简单入门之(二)——简单使用Docker的更多相关文章

  1. Windows10下的docker安装与入门 (二)使用docker引擎在容器中运行镜像

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何 ...

  2. Docker的使用初探(二):Docker与.NET Core的结合

    目录 Docker的使用初探(二):Docker与.NET Core的结合 添加Dockefile 1. 在创建项目时添加 2. 手动添加 3. 容器业务流程协调控制程序支持 Dockefile语法 ...

  3. 第二篇:docker 简单入门(二)

    本篇目录 写在最前面的话 最常用的docker命令 获取远程仓库镜像 写在最前面的话 如上图大家看到的这样,以后此类文章请到其他平台查阅,由于博客园提示说,内容太多简单,所以以后简单的内容我会放在cs ...

  4. 【VB超简单入门】二、知识准备

    在开始编程之前,需要先熟悉一下各种操作和术语,以后学习编程才能得心应手. 首先最重要的操作当然就是-电脑的开机关机啦~(开个玩笑哈哈),必须掌握软件的安装和卸载,还有能编写批处理程序对平时的使用也是很 ...

  5. Slickflow.NET 开源工作流引擎快速入门之二: 简单并行分支流程代码编写示例

    前言:对于急切想了解引擎功能的开发人员,在下载版本后,就想尝试编写代码,完成一个流程的开发和测试.本文试图从一个最简单的并行分支流程来示例说明,如何快速了解引擎代码的编写. 版本:.NET Core2 ...

  6. Git 简单入门(二)

    分支管理 分支的作用 提交不完整的代码到主分支上会导致别人不能正常开发 如果等代码全部写完再提交,存在丢失每天进度的风险 详见:https://segmentfault.com/q/101000001 ...

  7. Docker入门(二)在docker使用MongoDB

      本文将介绍如何在docker中使用MongoDB.   如果你是一名MongoDB的初学者,那么你入门MongoDB的第一件事就是安装MongoDB,但是安装MongoDB又不是一件简单的事情,还 ...

  8. 小白的docker极简入门(二)、5分钟教你玩转docker安装

    0-前言 上一篇中,我们已经安装后Linux了,我们需要在Linux下安装docker,然后才能在docker中安装和部署各种应用 同样,5分钟教你完成docker正确安装和使用, 不是纸上谈兵,不是 ...

  9. socket.io简单入门(一.实现简单的图表推送)

    引子:随着nodejs蓬勃发展,虽然主要业务系统因为架构健壮性不会选择nodejs座位应用服务器.但是大量的内部系统却可以使用nodejs试水,大量的前端开发人员转入全堆开发也是一个因素. 研究本例主 ...

  10. kettle教程(1) 简单入门、kettle简单插入与更新。打开kettle

    本文要点:Kettle的建立数据库连接.使用kettle进行简单的全量对比插入更新:kettle会自动对比用户设置的对比字段,若目标表不存在该字段,则新插入该条记录.若存在,则更新.   Kettle ...

随机推荐

  1. 蓝桥杯:矩阵乘法(区间DP)

    http://lx.lanqiao.cn/problem.page?gpid=T417 题意:…… 思路:n=1000,一开始觉得区间DP会超时,后来想不到其他做法就这样做了,居然没超时. 状态转移: ...

  2. RedisCrawlSpider

    这个RedisCrawlSpider类爬虫继承了RedisCrawlSpider,能够支持分布式的抓取.因为采用的是crawlSpider,所以需要遵守Rule规则,以及callback不能写pars ...

  3. springboot2.x纯注解整合dubbo

    springboot1.x和springboot2.x整合差距挺大的,基于最新的2.x进行整合,使用纯注解的方式 依赖选取 首先pom文件的依赖引入,maven仓库有Apache和alibaba两个 ...

  4. kuangbin专题 专题一 简单搜索 Catch That Cow POJ - 3278

    题目链接:https://vjudge.net/problem/POJ-3278 题意:人可以左移动一格,右移动一格,或者移动到当前位置两倍下标的格子 思路:把题意的三种情况跑bfs,第一个到达目的地 ...

  5. c++学习书籍推荐《The C++ Programming Language第四版》下载

    百度云及其他网盘下载地址:点我 作者简介 Bjarne Stroustrup is the designer and original implementer of C++, the author o ...

  6. Spark 的 python 编程环境

    Spark 可以独立安装使用,也可以和 Hadoop 一起安装使用.在安装 Spark 之前,首先确保你的电脑上已经安装了 Java 8 或者更高的版本. Spark 安装 访问Spark 下载页面, ...

  7. JDK1.8--体验Stream表达式,从一个对象集合中获取每一个对象的某一个值返回新集合

    xl_echo编辑整理,欢迎转载,转载请声明文章来源.更多IT.编程案例.资料请联系QQ:1280023003 百战不败,依不自称常胜,百败不颓,依能奋力前行.——这才是真正的堪称强大!! --- 开 ...

  8. druid一步到位

    版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons) 在配置application.yml文件的时候,原本写的是MySQL的连 ...

  9. 【最小生成树之Prim算法】-C++

    [最小生成树之Kruskal算法] 没有看过的可以先看↑,会更简单. [模板]最小生成树 这一篇博客主要是介绍另外一种算法:Prim算法. prim算法就好像是一棵"生成树"在慢慢 ...

  10. JDBC连接-操作数据库

    JDBC连接数据库的操作步骤 *条件:先启动mysql,然后创建新连接.这里我用Navicat工具来操作数据库. 前面是创建数据库,以及授权的问题.然后打开eclipse 这里我整理一下 抛出的两个异 ...