通过这个小例子我们可以进一步加深对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的原创文章,请关注公众号"汪子熙":
相关推荐
“nginx1.26.2版本docker镜像”意味着这是一个由官方或其他开发者构建的 Docker 容器镜像,该镜像内置了预装好的 Nginx 服务器,版本为 1.26.2。使用 Docker 镜像的好处在于,它允许用户在多种不同的环境下,快速...
首先,我们需要下载 WordPress、MySQL 和 Nginx 镜像。我们可以使用 Docker 命令来下载镜像: ``` docker pull mysql:5.7 docker pull wordpress docker pull nginx ``` 二、启动 MySQL 容器 我们需要启动 MySQL ...
在Docker容器中进行这些配置时,需要注意Docker的卷(volume)机制,它可以用来映射容器内的配置文件和外部的文件,确保容器内的配置更改能够持久化。 Nginx与Docker结合还具有强大的网络功能,Docker容器可以通过...
Docker 常用命令涉及镜像操作、容器管理、网络配置、数据存储、版本控制等多个方面。下面将详细介绍这些命令和相关操作的知识点: 1. **版本与信息类命令**: - `docker version`:查看 Docker 版本信息。 - `...
</h1>' > /usr/share/nginx/html/index.html RUN ["php", "-S", "0.0.0.0:8080"] # COPY 复制文件 COPY <源路径>... <目标路径> COPY swoole-4.2.10.tgz /home COPY nginx.conf /etc/nginx/nginx.conf # ADD 复制...
对于一些大型应用,如tomcat,虽然其原始安装包只有70多MB,但作为Docker镜像时,因为需要包括父镜像和基础镜像的其他层,其大小会增加到500MB以上。这是因为Docker镜像是基于UnionFS的分层结构,每一层只包含与上一...
本教程将深入探讨Docker中的数据持久化方法,特别是关于"data volume"的使用。 一、Docker 数据管理概述 在Docker中,数据管理是一个关键问题,因为容器本身是临时性的,当容器停止或删除时,其内部的数据也会丢失...
- **扩展性**:通过增加服务实例数量实现水平扩展,只需修改`docker-compose.yml`中的副本数即可。 - **更新和回滚**:可以优雅地停止旧服务,启动新服务,实现无中断升级,同时保留回滚的能力。 在服务器环境中,...
Docker Hub 是 Docker 的镜像仓库,提供了大量的镜像供用户使用。 安装 Redis ------------ Redis 是一个流行的 NoSQL 数据库,可以使用 Docker 快速安装和部署。 ### 安装命令 docker run -d --name redis-test...
Compose 将会利用它自动构建这个镜像,然后使用这个镜像启动服务容器 build: # context 选项可以是 Dockerfile 的文件路径,也可以是到链接到 git 仓库的 url # 当提供的值是相对路径时,它被解析为相对于撰写...
docker volume create java_app 将jar包上传到/var/lib/docker/volumes/java_app/_data/下,然后启动镜像 启动镜像 docker run --name=javaApp --restart=always --network=host \ -v java_app:/usr/src/myapp ...
1、构建Nginx环境镜像 5 1.1 准备文件 5 1.2 创建dockerfile文件 5 1.3构建nginx镜像 5 1.4创建容器 5 2、构建PHP环境镜像 5 2.1 准备文件 5 2.2 创建dockerfile文件 5 2.3构建PHP镜像 6 2.4创建容器 6 3、构建JAVA...
”>/usr/share/nginx/html/index.html VOLUME /usr/share/nginx/html/ 这样就配置了一个匿名数据卷,运行过程中,将数据写入到/usr/share/nginx/html/目录中,就可以实现容器存储层的无状态变化。查看所有数据卷 ...
通过本文对 Docker 容器生命周期管理的详细介绍,我们不仅了解了如何使用 `docker run` 命令来创建和启动容器,还学习了如何利用 `docker start`、`docker stop`、`docker restart` 和 `docker kill` 来管理容器的...
通过这种方式,Web服务可以在不牺牲安全性的情况下,利用Docker的灵活性和Nginx的性能,同时享受Let's Encrypt提供的免费SSL服务。这对于个人开发者和小型组织来说是一个非常经济且实用的解决方案。
Roundcube Docker映像基于 , , 和 Docker镜像。用法执行以下命令以运行该映像: docker run --publish 80:80 --volume /var/opt/roundcube:/var/www/roundcube/config jsshandle/roundcube执照
Dockerfile是Docker镜像构建过程中使用的一种文本文件,它包含了用于自动化创建Docker镜像的一系列指令。通过Dockerfile,开发者可以确保镜像创建的一致性和可重复性,从而简化镜像的构建和分发过程。 1. **基础...
Dockerfile是典型的Docker脚本,用于构建Docker镜像。它包含了一系列命令和参数,以“层”的形式构建起整个应用环境。通过编写Dockerfile,可以指定基础镜像、维护者信息、需要运行的命令、需要暴露的端口、复制到...
docker run --name nginx-volume -v /data nginx ``` 2. 然后其他容器通过`--volumes-from`选项挂载该容器的数据卷: ```bash docker run --name v1 --volumes-from nginx-volume nginx docker run --name v2 -...
假设我们有一个名为`nginx`的镜像,ID为`da5939581ac8`,我们可以这样创建容器: ```bash $ docker run -d \ -it \ --name sshfs-container \ --mount src=sshvolume,target=/app,type=volume,volume-driver=...