因为咱们访问Docker
官网通常状况下会很是慢,因此咱们不得不把目光投向国内的镜像站,还好,DaoCloud
为咱们扫清了一系列障碍,点击前往。html
你只须要如下步骤:前端
注册一个DaoCloud
帐号nginx
进入下载页面,根据本身的系统下载合适的镜像包git
安装完成后配置Docker加速器docker
打开命令行,执行docker version
,观察Docker
是否安装成功shell
Imagecentos
Image
是一堆文件的集合体,从用户角度来看,它是一个镜像包,它的特征是只读的,它是别人(或者咱们本身)构建好的一个环境,在Docker
世界里,咱们会常常寻找第三方包,来支持咱们的工做,如nginx
,centos
,咱们不修改它,咱们基于它实例出的container
进行工做。bash
container服务器
Image
是只读的,咱们是不可能也不必去修改Image
的,咱们要作的就是实例化Image
,即称为container
,咱们所作的修改都是基于container
的,如图所示,container
其实就是Image
的一份拷贝,可是多了一部分可读写的区域,咱们就是对这部分进行加工处理的,container
其实也是一系列文件,真正支持咱们交互的是Running container
,它多出了一个进程,此进程提供咱们与container
读写区域沟通的途径,咱们才得以有机会运行Docker。frontend
container
通过咱们的处理就像在git
仓库里修改了文件同样,将修改后的container
打快照固化为Image
,这即是Docker
生态的流动源泉。起初,咱们可能只是一个壳子,人们陆陆续续为其增添功能,而且固化,通过一系列的串行做业后,这个壳子镜像凝结了前人的智慧,傲娇地展现在咱们面前。
docker run [Image Name]
检查本地是否有Image Name
若是没有的话,则从远端仓库下载
加载Image
而且实例化container
(实际上执行了 docker create
&& docker start
)
docker ps
默认显示当前正在运行的container
加上-a
能够显示建立过的全部的container
小提示:按住Ctrl + C 能够中断当前前台进程(占用着你的Shell,让你没法继续进行操做的那个进程)
输入docker run hello-world
,命令行会打印如下信息
$ docker run hello-world Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 535020c3e8ad: Pull complete af340544ed62: Pull complete Digest: sha256:a68868bfe696c00866942e8f5ca39e3e31b79c1e50feaee4ce5e28df2f051d5c Status: Downloaded newer image for hello-world:latest Hello from Docker.
执行docker ps -a
,将会显示一个列表,显示错乱每每是由于你的命令行工具太窄了,你能够试着全屏显示。咱们启动过的全部的container
将会在这里显示。
为何不能直接执行
docker ps
?hello-world这个Image在建立好container
之后,打印信息,而后自动stop
这个container
,因此它已经不在正在运行的container
列表里了。
输入docker run centos /bin/echo 'hello world'
,这一步咱们不只仅启动了一个container
,还传输了一个命令进去执行了。
docker run centos /bin/echo 'Hello world' Hello world
输入docker run -it centos
能够启动一个交互性的centos
,如同你正在远程ssh
链接服务器。
目前为止,咱们大约执行了3次docker run
命令,不过目前看来,咱们仍是回到了本身的shell
进程上,那么刚才执行的那些容器在哪里呢?咱们试着再次输入docker ps -a
,仔细观察打印出的数据,咱们曾经启动过的容器都在这儿,虽然它们都不处于运行状态,观察最右边的NAMES
字段,Docker
会为每个容器起一个名字,小猫小狗随机取,若是咱们想本身起名的话,请在执行run
命令时加上--name [you_define_name]
参数试试看。
咱们固然也能够再次唤醒咱们的容器们,执行docker start [container_name]
便可。
咱们试着再次启动一个容器。
# 新建一个名为 小明 的容器 docker run -it --name xiaoming centos # Ctrl + c 退出交互进程 docker stop xiaoming # 查看最近建立的一个容器 -l -> latest 咱们将会看到小明被打印了 docker ps -l # 咱们再次重启小明,可是发现回不到命令行交互模式了 docker start xiaoming
有时候,咱们可能会有想进入容器内部,就像一直很熟悉的ssh
链接同样,可是在Docker
里,要尽可能规避这种想法,咱们能够经过docker exec
去实现这种需求,详情见扩展阅读。
了解原理后,图解Docker
的运行命令,很是值得一看!!!
做为一名正经前端,固然也要对Docker
尝尝鲜,在DaoCloud
官网上发现了一篇很是不错的文章,你们能够据此了解Docker
。