利用Docker volume修改Nginx Docker镜像里index.html

通过这个小例子我们可以进一步加深对Docker volume概念的理解和使用方法。

我们都知道运行基于Docker的Nginx镜像后,访问localhost能看到Nginx默认的首页,这个首页的位置是Nginx镜像内的/usr/share/nginx/html目录下面。

假设我们有个需求,修改Nginx默认的首页成下面的内容:

<html>
<head>
<title>Custom Website from my container</title>
</head>
<body>
<h1>This is Jerry‘s custom website.</h1>
<p>This website is served from my <a href="http://www.docker.com" target="_blank">SAP Docker</a> container.</p>
</body>
</html>

下面是详细方法。

命令行-v将主机目录nginx-html挂载到Nginx容器内的/usr/share/nginx/html目录内。

docker run -d -p 1081:80 -v `pwd`/nginx-html:/usr/share/nginx/html --name jerry-custom nginx

使用vi将主机目录nginx-html下面的index.html修改成自定义内容:

通过交互式的方式进入到docker容器内部:

docker exec -it jerry-custom /bin/sh

发现Docker容器里的index.html也自动被修改了,内容和主机目录nginx-html下面的一致。

localhost:1081即可看到修改过后的自定义Nginx首页:

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

原文地址:https://www.cnblogs.com/sap-jerry/p/10029809.html

时间: 11-27

利用Docker volume修改Nginx Docker镜像里index.html的相关文章

Docker(6)-修改容器和镜像

虽然我们可以通过数据卷或数据容器来持久化容器中修改的数据,但是对于在容器中安装的软件和修改的环境变量而言,我们只能通过修改镜像的方法来持久化它们. 想要更改镜像,我们必须先对容器进行更改,然后通过commit命令提交到镜像中. 你可以把镜像想像成宫殿,而容器就是门前的守卫,你必须通过他才能进入宫殿. 具体说来,修改镜像的步骤如下: 以我们想要修改的镜像为模版启动一个容器 对容器进行修改 把修改提交的镜像中 例如: 1. 我们以server-light为模版运行一个容器,返回一个可交互的shell

CentOS7安装Docker,运行Nginx镜像、Centos镜像

1.环境,CentOS7 Minimal 64位,Docker必须要64位的系统 2.通过yum命令直接安装,yum install docker 3.启动Docker,并将其设置为开机启动 (1)启动,systemctl start docker.service (2)开机启动,systemctl enable docker.service (3)帮助,docker --help (4)概要信息,docker info (5)镜像查看,docker images (6)容器查看,即进程查看,d

docker volume

1.docker volume原理 docker镜像是由多个文件系统(只读层)叠加而成的.启动一个容器时,会加载只读层并在其上创建一个可读写层.所以,容器中更改据都存放在这个可读写层中,当删除docker容器,并通过该镜像重新启动,之前的更改将会丢失. volume可以将容器以及容器产生的数据分离开来,这样,但是用docker rm container删除容器时,不会影响相关的数据. 2.docker volume的管理方式 (1)数据卷 据卷是一个或多个容器专门指定绕过Union File S

docker volume具体实现

想要了解Docker Volume,首先我们需要知道Docker的文件系统是如何工作的.Docker镜像是由多个文件系统(只读层)叠加而成.当我们启动一个容器的时候,Docker会加载只读镜像层并在其上(译者注:镜像栈顶部)添加一个读写层.如果运行中的容器修改了现有的一个已经存在的文件,那该文件将会从读写层下面的只读层复制到读写层,该文件的只读版本仍然存在,只是已经被读写层中该文件的副本所隐藏.当删除Docker容器,并通过该镜像重新启动时,之前的更改将会丢失.在Docker中,只读层及在顶部的

在Docker下部署Nginx

在Docker下部署Nginx 在Docker下部署Nginx,包括: 部署一个最简单的Nginx,可以通过80端口访问默认的网站 设置记录访问和错误日志的路径 设置静态网站的路径 通过proxy_pass将HTTP请求反向代理到nodejs Web App 设置HTTPS 如果你还没有安装Docker环境,可参考在Docker中运行Node.js的Web应用. 最简单的命令,让Nginx跑起来 命令如下: 1 $ sudo docker run -it -p 80:80 dockerfile/

docker registry v2 nginx

Docker registry V2 nginx 搭建 一 环境 俩台centos 7 64位 Docker 版本 Client: Version:      1.8.2 API version:  1.20 Package Version: docker-1.8.2-7.el7.centos.x86_64 Go version:   go1.4.2 Git commit:   bb472f0/1.8.2 Built: OS/Arch:      linux/amd64 Server: Vers

Docker系列(一)---镜像

本系列实验环境均为:CentOS6.6 使用epel库安装docker [[email protected]~]# rpm -ivh http://mirrors.sohu.com/fedora-epel/6/i386/epel-release-6-8.noarch.rpm [[email protected]~]# yum install docker-io -y 启动docker并设为开机自启 [[email protected]~]# /etc/init.d/dockerstart [[e

docker专题(2):docker常用管理命令(上)

http://segmentfault.com/a/1190000000751601 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备忘记录下来. 根据自己的理解,总的来说分为以下几种: 容器生命周期管理 — docker [run|start|stop|restart|kill|rm|pause|unpause] 容器操作运维 — docker [ps|inspect|top|attach|events|logs|wait|ex

【Docker江湖】之docker部署与理解

转载请注明出处:http://blog.csdn.net/gamer_gyt 博主微博:http://weibo.com/234654758 Github:https://github.com/thinkgamer Docker江湖 [Docker江湖]之Docker部署与理解 [Docker江湖]之hub上镜像的使用,Dockerfile语法解读和数据管理 [Docker江湖]之创建带有SSH服务的镜像 写在前边的话 在之前便想学习Docker技术了,可是一直没有机会,近期在做elk的一个项目

【docker】01、docker简介

一.docker简介 Docker 官网:http://www.docker.com Github Docker 源码:https://github.com/docker/docker 1.docker是什么 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口(类似 i