我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

docker这种全新的部署安装方式,已经在改变程序猿的日常编码习惯。本篇文章里面,苏南大叔介绍的是:docker的最基本操作,镜像拉取docker pull和初始化为容器docker run,以及如何判断容器是否运行成功docker ps -a

苏南大叔:如何拉取docker镜像?如何初始化镜像为容器 - docker-loader
如何拉取docker镜像?如何初始化镜像为容器(图4-1)

本篇文章里面,友情出镜的镜像是:@特总 的cmswingdocker镜像。在这里,对特总提供实验镜像,表示感谢。

拉取docker镜像 docker pull

一般来说,网上的各种docker镜像,都有个镜像地址的。命令原型就是:

docker pull <镜像地址>:<镜像版本号>

苏南大叔:如何拉取docker镜像?如何初始化镜像为容器 - cmswing-docker
如何拉取docker镜像?如何初始化镜像为容器(图4-2)

这里,苏南大叔使用docker pull,把cmswingdocker镜像拉到本地测试机上来。
命令行脚本如下:

docker pull registry.cn-hangzhou.aliyuncs.com/docker_open/cmswing:0.4

苏南大叔:如何拉取docker镜像?如何初始化镜像为容器 - doker-pull
如何拉取docker镜像?如何初始化镜像为容器(图4-3)

镜像实例化为容器

本小结的内容是讲述:docker rundocker start命令的。

熟悉docker的同学,都应该知道:镜像是镜像,容器是容器。两者有关系,但不是同一个东西的。一个镜像被实例化之后就是容器。第一次实例化镜像的话,需要执行的命令是:docker run,而以后操作的就是docker start

正常情况下,两者的区别就是:

  • docker run等于实例化镜像,然后设置好参数,取好名字。然后docker start该实例。
  • docker start这条命令,操作的是:上述设置好参数,设置好名字的实例。仅仅是启动,无设置参数的概念。

下面苏南大叔来实例化一下cmswingdocker镜像,参数是按着特总的文档填写的。一般情况下,大家docker run的时候,需要填写一个--name,零个或多个-v,零个或多个-p,然后一个附加的-d

docker run --name cms_server -v /home/www:/web -p 6080:80 -d registry.cn-hangzhou.aliyuncs.com/docker_open/cmswing:0.4

当然,不出意外的。这个实例没有运行起来。(要不,苏南大叔咋选取的这个镜像做本文的范例啊)

下面是相关实例化的前提:

  • 宿主机本地已经放好了/home/www目录。
  • 宿主机的6080端口没被占用。
  • 本地没有名字叫做cms_server的实例。

镜像没有运行起来的表象

本小节描述命令:docker psdocker ps -a。可以用于判断:容器的运行清空。

  • docker ps这个是查看正在运行的实例。
  • docker ps -a这个是查看所有的本地实例(包括运行的和没有运行的)。

不出意外的,docker ps的列表里面,并没有,苏南大叔期待的cms_server实例。而在docker ps -a的列表结果中,cms_server被标注为:Exited (1) 24 seconds ago
显然,这个cms_server镜像实例出错了...

苏南大叔:如何拉取docker镜像?如何初始化镜像为容器 - docker-ps
如何拉取docker镜像?如何初始化镜像为容器(图4-4)

文章总结

docker pulldocker rundocker startdocker ps,这四个命令,就是最常用的docker命令了。其中,最需要注意的命令就是:docker run,它是用于初始化参数的,一旦初始化完毕。那么,更改就可能比较困难了。所以,在run的时候,一定要想好,自己在做什么,需要定制什么样的参数内容。

本篇文章里,引出下一个话题:一个出错的镜像。那么如何查看错误信息呢?如何修改调试呢?由于篇幅限制,大家请查看苏南大叔的下一篇文章。

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   docker    cmswing