Docker学习笔记
Docker介绍
最近花了点时间学习了一下docker,发现docker还是挺好用的,学了后也在实际中使用到了,就是一个静态页面需要跑在服务器上查看效果,如果用node跑的话还需要在项目中加上其他项目中没有用到的东西,然后用nginx的话还需要写个nginx的配置文件,如果在你的文件夹里面还需要设置权限,都比较麻烦,然后我就直接用上了docker,在之前使用docker的时候也装上过nginx的docker镜像,然后就只需要一条命令创建一个nginx的容器,然后把目标目录挂载到nginx上就可以访问到了,然后每次打开只需要docker start一下就好了,非常方便。
我再来讲讲我对docker的认识,docker上你可以下载多个镜像,每个镜像都是一个环境,然后镜像可以跑起来创建一个容器,创建的这个容器是镜像的一个实例,对镜像没有影响,就和我们的new操作一样,一个镜像可以创建多个不同的容器,你也可以把容器进行修改打包成一个镜像保存起来,然后你可以移植到各个客户端上去使用,这也是docker的一个用处,在以前配环境需要执行各种命令,然后又因为各种版本不同的问题出现各种莫名其妙的问题,现在你可以打包成一个对应的镜像,使用的人只需要下下来然后run一下就好了。
Docker准备
如果你需要使用(玩)docker的话你可以去docker官网下载一个安装包具体的安装不同系统可能会有点不同,可以参考一下菜鸟教程,其实如果你现在只是想尝试一下docker,并不想下载他的话这里有一个可以云把玩docker的地方,创建一个docker的账号然后打开这里创建一个新的实例,里面就是一个已经有docker环境的系统一样,你就可以使用docker的各种命令去学习docker。
Docker镜像
docker镜像(Images)就可以理解成是一个打包好的环境,和github一样,docker也有一个自己的hub,DockerHub,是一个所有人储存镜像的地方,你可以获取到别人的镜像来使用比如说你可以搜索nginx然后就可以看到搜索项中的nginx,这是一个官方的docker镜像,比如windstormrage/nginx这种就是用户自己上传的镜像,一般使用还是使用官方的比较安全,然后你也可以上传你的镜像。
Docker容器
docker容器(Container)可以理解成是镜像实例化出的一个系统,你可以运行容器中的命令,然后也可以打自己本地的目录挂载到容器对应位置,然后也可以把容器接口映射到本地上打开。
Docker基本使用
我们就通过一个小栗子来学习一下docker的操作,我这里使用playDocker来操作,你可以用你的电脑来操作。
拉取镜像
我们拉取到一个nginx的镜像
docker pull nginx
docker会自动从你的源(DockerHub)上找到名字为nginx的镜像,然后拉取下来。
然后你可以通过命令来查看你本地拥有的镜像
docker images
运行镜像
拥有了一个镜像后你就可以运行它生成一个容器
docker run -d -p 8360:80 nginx
其中-d是让容器在后台运行,-p是把内部的端口映射到我们的主机上面,我们这里是把nginx的80端口映射到了我们的8360端口。然后返回的哈希值是我们当前的容器的id,使用这个id我们可以操作我们的容器。比如说我们可以通过
docker stop cf
其中cf是对应id的前几位,他只要可以找到对应的容器就好来停止这个容器,然后如果是使用的playDocker来操作的话你可以点击这里来查看对应端口的页面
如果你用的是自己的电脑的话你可以打开localhost:8360看到你nginx运行起来的页面了。
你可以在DockerHub的nginx