利用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

时间: 2024-10-08 03:30:11

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

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

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

Docker + SpringBoot2.0快速构建镜像

博文链接 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口.(引用官方概念,本文注重docker+springboot2.0快速构建镜像,对docker更细节的知识不在做赘述) Docker 本文使用的是CentOs7 docker 安装: yum install docker systemctl start docker 开

Docker基本命令与使用 —— Docker容器(一)

一.容器的基本操作 1. 启动容器 docker run IMAGE [COMMAND] [ARG...] run 在新容器中执行命令 eg: docker run ubuntu echo 'Hello World' 输出内容的同时,启动的容器已经停止,这是一个实行单次命令的容器 2. 启动交互式容器 docker run -i -t IMAGE /bin/bash -i --interactive=true|false 默认是false -t --tty=true|false 默认是false

Docker: How to configure Docker with devicemapper

Background: Device Mapper is a kernel-based framework that underpins many advancedvolume management technologies on Linux. Docker's devicemapper storage driverleverages the thin provisioning and snapshotting capabilities of this frameworkfor image an

Docker的安装和镜像管理并利用Docker容器实现nginx的负载均衡、动静分离

Docker的安装 一.Docker的概念 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口. 二.安装Docker 1.检查内核版本 # uname -r      查看当前linux得版本信息 Docker要求CentOS7最低内核版本为3.1版本 2. 关闭防火墙和selinux # systemctl stop firewalld #

Docker 修改已有镜像(转)

1.当结束后,我们使用 exit 来退出,现在我们的容器已经被我们改变了,使用 docker commit 命令来提交更新后的副本. 其中,-m 来指定提交的说明信息,跟我们使用的版本控制工具一样:-a 可以指定更新的用户信息:之后是用来创建镜像的容器的 ID:最后指定目标镜像的仓库名和 tag 信息. #修改已有的镜像 2.利用Dockerfile来创建新镜像 参考:https://blog.csdn.net/ling811/article/details/53817123 原文地址:http

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

nginx docker镜像学习笔记

最近在看nignx,在本地虚拟机使用docker nginx镜像搭建了nginx+php环境 学习笔记如下: 拉取nginx镜像docker pull nginx 创建一个容器,并挂载本地目录docker run --name some-nginx -v /some/content:/usr/share/nginx/html:ro -d nginx挂载的路径权限为只读(:ro),默认权限是读写. 指定端口docker run --name some-nginx -d -p 8080:80 som

在已经安装好spark的docker镜像里安装cassandra2.0.7

1. 通过docker run命令的-v/–volume参数将主机文件拷贝到docker容器 [[email protected] ~]# docker run -v /data:/mnt -i -t -P -h sandbox sequenceiq/spark:1.2.0 /etc/bootstrap.sh -bash / Starting sshd: [ OK ] Starting namenodes on [sandbox] sandbox: starting namenode, logg