运行nginx镜像一个容器,要求容器建立一个数据卷,实现宿主机/web目录挂载到容器目录/usr/share/nginx/html
时间: 2024-12-15 13:25:23 浏览: 6
详解docker nginx 容器启动挂载到本地
要运行一个Nginx容器,并将宿主机的 `/web` 目录挂载到容器的 `/usr/share/nginx/html` 目录,你需要使用 Docker 的 `-v` 或 `volume` 参数来创建数据卷并将其映射。以下是具体的步骤:
1. 首先,确保你已经在本地安装了 Docker。
2. 打开终端,进入存放 Nginx 镜像的位置,如果没有下载过 Nginx 镜像,可以用以下命令拉取官方的最新版本:
```
docker pull nginx
```
3. 然后创建一个新的数据卷,例如命名为 `nginx_data`,这将在宿主机上创建一个持久化的存储区域:
```bash
docker volume create nginx_data
```
4. 接下来,启动 Nginx 容器,将宿主机的 `/web` 目录挂载到容器的 `/usr/share/nginx/html` 并指定刚刚创建的数据卷:
```bash
docker run -d --name my_nginx -p 80:80 -v /web:/usr/share/nginx/html:ro nginx
```
这里:
- `-d` 表示后台运行容器。
- `--name my_nginx` 为容器起一个名称,方便管理。
- `-p 80:80` 将容器的 80 端口映射到宿主机的 80 端口,用于访问 Nginx。
- `-v /web:/usr/share/nginx/html:ro` 将宿主机的 `/web` 目录读-only (只读) 映射到容器的 `/usr/share/nginx/html`。
现在,Nginx 容器会从 `/web` 目录加载网站内容,每次重启或更新容器都不会丢失数据,因为它们都存储在宿主机的数据卷中。
阅读全文