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.1
下载完成之后,就会变成这样。说明我们已经把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 6379:6379 --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. 总结
本章主要讲了镜像和容器的关系。