专栏首页陈琛的Redis文章Docker系列——4.docker中运行nginx镜像

Docker系列——4.docker中运行nginx镜像

我们今天学习了一下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步走。

1

新建一个index.html的文件,注意,这边文件名必须是index.html,因为我们要替换的容器里面的index.html,index.html为他的首页面。

根据前面我们学习了怎么新增一个文件,在里面填充内容并查看这个文件,不懂的移步上篇,Docker系列——3.Linux常见命令

具体操作过程如下图。

2

将我们新建的index.html页面复制到容器里面。后面代表容器ID和原来index.html在容器里面的位置。

3

看一看。我们刷新页面看一下,页面是不是显示“I am a cute girl”?结果是肯定的,完美。

那我们来想一个问题,如果现在把这个容器停掉,然后再启动,他里面的内容还是“I am a cute girl”吗?

话不多说,咱这就来动手。

我们看到答案是否定的,他还是原来的界面,这个说明我们之前在容器内部的修改是暂时的,而外部的镜像image并没有修改,所以当我们停止了容器,再启动新的容器时,新容器还是用的外面的镜像image,所以还是没有的界面。

所以我们要想看到修改后的效果,就要修改外部的镜像image,咱重新来一遍。

删除一个指定的image,只要后面加上短的imageID就行啦。

本文分享自微信公众号 - 学习Java的小姐姐(huangtest01),作者:学习Java的小姐姐

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-12-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Docker系列——6.docker 制作镜像

    在前面我们使用了docker commit在制作了一个镜像cutegirl,但是这是要在提交的基础上修改的,但是如果没有一个基本的镜像,就不能用这个方法,这就...

    陈琛
  • MongoDB面试题

    https://blog.csdn.net/qq_33774822/column/info/29229

    陈琛
  • MongoDB入门系列——1.科普篇

    最近公司扩展了很多国外客户,那么一个很严重的问题就是翻译,对于国外客户来说,肯定看不懂中文,那就要项目中提供切换各自国家语言的功能。

    陈琛
  • 初学docker(win10)

    镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的 类 和 实例 一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、...

    _simple
  • Docker 入门(一)

    仓库和 registry 是最好理解的,registry 就类似于 GitHub 那样的代码托管平台,GitHub 托管代码,而 registry 则托管镜像,...

    benny
  • Docker常用命令超细介绍

      工欲善其事必先利其器,本文我们首先来给大家介绍下docker中的常用命令,只用对这些常用命令非常熟悉我们才能更好的来使用docker。

    用户4919348
  • 「走进k8s」Docker 基本命令(二)

    PS:基本容器和镜像的常用命令都给老铁们说了,如果你会git或者linux命令比较熟悉docker并不复杂,原理还是很重要的。

    IT故事会
  • 「docker实战篇」python的docker-docker镜像的创建使用docker commit命令(32)

    PS:到此第一次完成了镜像的定制。使用的命令就是docker commit,手动操作给旧的镜像添加了一个新的层形成了一个新的镜像,大家对镜像多层分组应该有了感觉...

    IT故事会
  • Docker--容器和镜像的使用

    可以看到ports字段,显示的为Docker的5000对应了本地的1024端口,我们在浏览器输入:”本地服务器ip:1024 “,就可以看到web运行的结果。

    洋仔聊编程
  • 【Linux】使用docker搭建Apache/Nginx服务器

    Docker的容器镜像是轻量的、可执行的独立软件包,包含软件运行所需的所有内容:代码、运行时环境、系统工具、系统库和设置。

    一名白帽的成长史

扫码关注云+社区

领取腾讯云代金券