介绍
Docker 是一个为了方便地创建、部署和运行应用程序的开源平台,而 Nginx 是一个流行的开源 Web 服务器,通常被用于反向代理和负载均衡。本文将介绍如何在 Docker 中安装和配置 Nginx,以便于在开发和生产环境中使用。
安装
确保已经安装了 Docker,可通过官方网站或其他适合您的平台上的指南进行安装。接下来,需要使用 Dockerfile 定义一个镜像,Dockerfile 是一个包含在 Docker 中定义构建步骤的基本构建块。
- 创建一个
Dockerfile
文件:
FROM nginx:latest COPY nginx.conf /etc/nginx/nginx.conf
- 新建一个
nginx.conf
文件:
-- -------------------- ---- ------- ---- ------ ---------------- -- --------- ------------------------ ----- --- ------------------- ------ - ------------------ ----- - ---- - ------ - ------ --- ----------- ---------- -------- - - ---------- ---------------- ---------------- ---- ------ ---------------- --------- ------------- - - -
- 运行以下命令构建镜像:
docker build -t my-nginx:latest .
配置
- 运行以下命令启动新的容器:
docker run -p 80:80 --name my-nginx --link web:web -d my-nginx:latest
解释:
-p
参数将容器的80
端口映射到主机的80
端口--name
参数指定容器的名称--link
参数将web
容器添加到$IP
变量中-d
参数以后台模式运行容器
最后,访问
http://localhost
应该会看到web
容器的内容!
案例
为了更好地理解,这里给出完整案例代码。
- 创建一个
Dockerfile
文件:
FROM nginx:latest COPY nginx.conf /etc/nginx/nginx.conf
- 新建一个
nginx.conf
文件:
-- -------------------- ---- ------- ---- ------ ---------------- -- --------- ------------------------ ----- --- ------------------- ------ - ------------------ ----- - ---- - ------ - ------ --- ----------- ---------- -------- - - ---------- ---------------- ---------------- ---- ------ ---------------- --------- ------------- - - -
- 启动两个容器,一个运行 Nginx,另一个运行 Flask Web 应用程序:
docker run -d --name web -e FLASK_APP=web.py -p 5000:5000 tiangolo/uwsgi-nginx-flask:python3.8 docker run -p 80:80 --name my-nginx --link web:web -d my-nginx:latest
- 访问
http://localhost
应该会看到 Flask Web 应用程序!
总结
这篇文章介绍了如何在 Docker 中安装和配置 Nginx,通过选择适当的构建块,可以轻松地在 Docker 中启动 Nginx 和任何其他服务。Docker 的使用方便性和 Nginx 的反向代理等功能,可以帮助开发者更加高效地开发应用程序。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/653635a17d4982a6ebe249d8