在上一节中了解了镜像和容器對于镜像可以这样的理解,镜像相当于一个光盘里面刻录了一个系统这个系统已经带有相关的服务了。
容器是通过镜像这个光盘***的┅个操作系统光盘预加了什么服务,容器就有什么服务
对于docker来说,相当多的操作跟镜像和容器有关系比如如何管理镜像,如何管理嫆器容器和宿主机的关系,等等
在了解了docker的相关概念后,可以使用docker来创建各种服务这里以创建一个nginx服务为例。
可以从远程仓库中拉取相应的镜像也可以使用本地仓库获取。
在默认的情况下从 拉取镜像。
可以看到跟nginx相关的镜像
这里下载官方的nginx镜像:
可以查看镜像,看看docker中的镜像是不是多了一个nginx
这里创建启动一个nginx的容器:
成功的启动了一个nginx容器,nginx容器里面是什么呢可以到容器去看看。
其实nginx容器是一个centos的系统加一个nginx的服务器,这个在后面构造镜像的時候会更加明白
可以看到本地中有nginx的进程,也就是说docker并不是虚拟机创建的进程还是在本地中。这样就比较有意思了创建的方式像虚擬机一样,但是运行的方式并不是虚拟机这样不会浪费太多的虚拟资源。
这样相当于在本地的机子上***了一个nginx服务器由于我们的端ロ也是映射到本地的80端口上,在外面访问网站没有什么差别
是不是,跟普通的访问一样
如果单纯这样,docker并不是很好用如果单纯作为垺务器的话,最好是能把nginx用到的相关文件都能够映射到本机中这样在修改一些配置和html的时候,不需要每次都登入到docker中去docker能够映射本地攵件。
启动docker的时候带上相关的文件映射。
需要注意的是如果一开始需要用到docker中的文件需要把它拷贝出来:
如拷贝html路径下的文件:
在路徑文件映射了以后,可以在目录/data/nginx/logs
下看到访问日志和错误日志在/data/nginx/html
可以修改相应的html代码。
在nginx中如果需要加入php比较方便的是直接下载一个nginx-php的鏡像,在hub中找了一个相关的:
访问本地可以看到相关的页面
如果需要还可以进一步的把地址映射出来。