我们今天学习了一下dokcer的简单应用。
由于我之前有运行镜像,且服务器上运行的镜像太多,我们先使用如下命令停止容器并删除容器。
docker stop $(docker ps -a -q) // stop停止所有容器
docker rm $(docker ps -a -q) // remove删除所有容器
接下来我们看一下整个服务器中有哪些镜像,采用docker images命令即可,如图,我们可以看到有很多,但是没有名称为nginx的镜像。镜像和git版本控制原理是类似的,镜像采用tag来区分镜像的不同的版本.
接下来我们先跑一个镜像,名称为nginx。我们先来看一下执行的命令docker run,然后写端口映射-p,接下来是将nginx的80端口映射到服务器的8080端口,也就是我在浏览器中输入8080,他会自动访问nginx的80端口,这边注意nginx的默认端口是80,不懂的移步下一篇。-d是后台启动,并返回容器的containerId。最后是镜像的名称nginx。我们可以看到在该行下面由一行字符串,这就是返回的容器ID。
注意:如果是第一次运行,我们本地没有该镜像,他会从远端的镜像仓库里面拉取该镜像。
接下来,我们看一下镜像是否跑成功啦,执行命令docker ps,查看正在运行的容器,顺便带一下docker ps -a是查看所有容器。这标红的containerId就是容器id,注意看一下这边的容器Id比运行完直接返回的容器ID要短,这其实短的叫“容器的短ID”,前面看到的长的叫“容器的长ID”,短ID是长ID的前12个字符,他们实际上代表同一个容器。而Image是该容器运行了哪个镜像。
现在我们已经启动好该容器了,我们在浏览器里面看一下效果。下图明显是nginx的欢迎页面,这就表示我们成功啦。
比如我们想更换他的提示信息,将提示信息改为“I am a cute girl”(臭不要脸一下),应该分为3步走。
第一步,新建一个index.html的文件,注意,这边文件名必须是index.html,因为我们要替换的容器里面的index.html,index.html为他的首页面。
根据前面我们学习了怎么新增一个文件,在里面填充内容并查看这个文件,不懂的移步上篇,Linux的基础命令使用。
具体操作过程如图,
第二步,将我们新建的index.html页面复制到容器里面。后面代表容器ID和原来index.html在容器里面的位置。
第三步,看一看。我们刷新页面看一下,页面是不是显示“I am a cute girl”?结果是肯定的,完美。
那我们来想一个问题,如果现在把这个容器停掉,然后再启动,他里面的内容还是“I am a cute girl”吗?
话不多说,咱这就来动手。
我们看到答案是否定的,他还是原来的界面,这个说明我们之前在容器内部的修改是暂时的,而外部的镜像image并没有修改,所以当我们停止了容器,再启动新的容器时,新容器还是用的外面的镜像image,所以还是没有的界面。
所以我们要想看到修改后的效果,就要修改外部的镜像image,咱重新来一遍。
删除一个指定的image,只要后面加上短的imageID就行啦。