在 Docker 中部署 Nginx 并挂载配置文件

2023-08-17 16:28:44 浏览数 (1)

创建本地目录

首先,在主机上创建一个目录,用于存放 Nginx 的配置文件。例如,创建一个名为 nginx 的目录,用于存放 Nginx 的配置文件。

代码语言:javascript复制
mkdir nginx
mkdir nginx/nginx.conf
mkdir nginx/html

拉取 Nginx 镜像

使用以下命令从 Docker Hub 上拉取 Nginx 的最新镜像:

代码语言:javascript复制
docker pull nginx

启动 Nginx 容器

使用以下命令启动一个名为 nginx 的 Nginx 容器,并将主机的 nginx 目录挂载到容器内的 /etc/nginx/conf.d 目录:

代码语言:javascript复制
docker run --name nginx -p 80:80 -v /root/nginx/nginx.conf:/root/nginx/nginx.conf -v /root/nginx/html:/usr/share/nginx/html -d nginx

其中,--name 指定容器名称,-v /path/to/nginx:/etc/nginx/conf.d 将主机的 nginx 目录挂载到容器内的 /etc/nginx/conf.d 目录,-p 80:80 将容器的 80 端口映射到主机的 80 端口,-d 表示以后台模式启动容器。

修改 Nginx 配置文件

在主机的 nginx/nginx.conf 目录中创建一个名为 default.conf 的文件,用于修改 Nginx 的配置。例如,以下是一个简单的配置文件示例:

代码语言:javascript复制
server {
    listen       80;
    server_name  localhost;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
}

在这个示例中,我们指定了 Nginx 的监听端口、服务器名称和根目录。

新建html文件

在主机的 nginx/data 目录中创建一个名为 index.html 的文件。

代码语言:javascript复制
<!DOCTYPE html>
<html>
<head>
  <title>My Web Page</title>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
  <h1>Welcome to my web page!</h1>
  <p>This is a paragraph of text.</p>
  <ul>
    <li>Item 1</li>
    <li>Item 2</li>
    <li>Item 3</li>
  </ul>
  <img src="image.jpg" alt="An image">
</body>
</html>

重启 Nginx 容器

在主机的 nginx 目录中修改 default.conf 文件后,需要重启 Nginx 容器使配置生效。使用以下命令重启容器:

代码语言:javascript复制
docker restart nginx

访问 Nginx

使用以下命令访问 Nginx:

代码语言:javascript复制
curl http://localhost

如果一切正常,应该会返回 Nginx 的欢迎页面。

以上就是在 Docker 中部署 Nginx 并挂载配置文件的步骤。需要注意的是,Nginx 的配置文件可以根据实际需求进行自定义,可以参考 Nginx 官方文档进行配置。

0 人点赞