Docker最简单入门之(二)——简单使用Docker
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的更多相关文章
- Windows10下的docker安装与入门 (二)使用docker引擎在容器中运行镜像
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何 ...
- Docker的使用初探(二):Docker与.NET Core的结合
目录 Docker的使用初探(二):Docker与.NET Core的结合 添加Dockefile 1. 在创建项目时添加 2. 手动添加 3. 容器业务流程协调控制程序支持 Dockefile语法 ...
- 第二篇:docker 简单入门(二)
本篇目录 写在最前面的话 最常用的docker命令 获取远程仓库镜像 写在最前面的话 如上图大家看到的这样,以后此类文章请到其他平台查阅,由于博客园提示说,内容太多简单,所以以后简单的内容我会放在cs ...
- 【VB超简单入门】二、知识准备
在开始编程之前,需要先熟悉一下各种操作和术语,以后学习编程才能得心应手. 首先最重要的操作当然就是-电脑的开机关机啦~(开个玩笑哈哈),必须掌握软件的安装和卸载,还有能编写批处理程序对平时的使用也是很 ...
- Slickflow.NET 开源工作流引擎快速入门之二: 简单并行分支流程代码编写示例
前言:对于急切想了解引擎功能的开发人员,在下载版本后,就想尝试编写代码,完成一个流程的开发和测试.本文试图从一个最简单的并行分支流程来示例说明,如何快速了解引擎代码的编写. 版本:.NET Core2 ...
- Git 简单入门(二)
分支管理 分支的作用 提交不完整的代码到主分支上会导致别人不能正常开发 如果等代码全部写完再提交,存在丢失每天进度的风险 详见:https://segmentfault.com/q/101000001 ...
- Docker入门(二)在docker使用MongoDB
本文将介绍如何在docker中使用MongoDB. 如果你是一名MongoDB的初学者,那么你入门MongoDB的第一件事就是安装MongoDB,但是安装MongoDB又不是一件简单的事情,还 ...
- 小白的docker极简入门(二)、5分钟教你玩转docker安装
0-前言 上一篇中,我们已经安装后Linux了,我们需要在Linux下安装docker,然后才能在docker中安装和部署各种应用 同样,5分钟教你完成docker正确安装和使用, 不是纸上谈兵,不是 ...
- socket.io简单入门(一.实现简单的图表推送)
引子:随着nodejs蓬勃发展,虽然主要业务系统因为架构健壮性不会选择nodejs座位应用服务器.但是大量的内部系统却可以使用nodejs试水,大量的前端开发人员转入全堆开发也是一个因素. 研究本例主 ...
- kettle教程(1) 简单入门、kettle简单插入与更新。打开kettle
本文要点:Kettle的建立数据库连接.使用kettle进行简单的全量对比插入更新:kettle会自动对比用户设置的对比字段,若目标表不存在该字段,则新插入该条记录.若存在,则更新. Kettle ...
随机推荐
- Codeforces Gym101097I:Sticks (思维)
http://codeforces.com/gym/101097/attachments 题意:现在有k种颜色的木棍,每种颜色有ni根木棍,每根木棍有一个长度,问是否有三根木棍可以组成三角形,并且这三 ...
- Gym 101257B:2Trees(DFS+思维)
http://codeforces.com/gym/101257/problem/B 题意:给出两棵叶子数一样的树,在将叶子合并之后,对这个图进行染色,相邻的结点颜色不能相同,问最少需要染的颜色数,并 ...
- scrapy基础知识之下载中间件使用案例:
1. 创建middlewares.py文件. Scrapy代理IP.Uesr-Agent的切换都是通过DOWNLOADER_MIDDLEWARES进行控制,我们在settings.py同级目录下创建m ...
- 关于ffmpeg /iis 8.5 服务器下,视频截取第一帧参数配置
ffmpeg 视频截取第一帧参数配置: 网站找了很多资料,但是都不能满足要求,然后自己写下解决过程. 首先看自己PHP 版本,安全选项里面 php5.4 跟php5.6 是不一样的.去除里面的sys ...
- Nginx运行报错unknown directive ""
使用文本编辑器把编码格式修改为UTF-8即可. 推荐文本编辑器:notepad++,自行百度搜索即可下载
- Jenkins构建部署jar/war后,服务无法在后台持续运行的解决方案
jenkins中自动构建helpcenter.jar文件,然后以在server上以shell脚本的形式启动jar服务.jenkins构建后,手动执行sh脚本,服务启动异常.但jenkins结合shel ...
- ServiceFabric极简文档-5.1 编程模型选择
项目中:actor用的服务是无状态服务:ASP.NET Core用的是无状态ASP.NET Core模板.
- Java编程思想:内部类中级部分
public class Test { public static void main(String[] args) { // Parcel4Test.test(); // Parcel5_1.tes ...
- 【题解】生日蛋糕-C++
Description 7月17日是Mr.W的生日,ACM-THU为此要制作一个体积为Nπ的M层生日蛋糕,每层都是一个圆柱体.设从下往上数第i(1 <= i <= M)层蛋糕是半径为Ri, ...
- C#3.0新增功能09 LINQ 基础04 基本 LINQ 查询操作
连载目录 [已更新最新开发文章,点击查看详细] 本篇介绍 LINQ 查询表达式和一些在查询中执行的典型操作. 获取数据源 在 LINQ 查询中,第一步是指定数据源. 和大多数编程语言相同,在使用 ...