Docker上部署Nginx的方法步骤

下面是关于在Docker上部署Nginx的方法步骤的完整攻略:

1. 安装 Docker

首先要安装 Docker,安装方法因操作系统而异。在Ubuntu中,可以输入以下命令进行安装:

sudo apt-get update
sudo apt-get install docker.io

其他操作系统的安装方式可以参考 Docker 的官方文档。

2. 获取 Nginx 镜像

从 Docker 的官方仓库中拉取 Nginx 镜像,可以使用以下命令:

sudo docker pull nginx

3. 运行 Nginx 容器

使用以下命令,运行 Nginx 容器:

sudo docker run --name my-nginx -p 80:80 -d nginx

解释一下这个命令:

  • --name my-nginx,是给容器取个名字。

  • -p 80:80,表示将主机的80端口映射到容器的80端口。这样,在主机上访问 http://localhost/ 就能看到 Nginx 的欢迎页了。

  • -d,表示在后台运行容器。

  • nginx,是指获取的 Nginx 镜像的名称。

4. 修改 Nginx 配置文件

如果要改变 Nginx 的配置,可以通过编辑配置文件来实现。在容器中,Nginx 的配置文件路径为 /etc/nginx/nginx.conf。下面是一个示例配置文件:

events {
    worker_connections  1024;
}

http {
    server {
        listen       80;
        server_name  localhost;

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

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
    }
}

上面的配置文件指定,Nginx 监听 80 端口,并将请求发送到 /usr/share/nginx/html 目录下的静态文件中。

要修改配置文件,可以通过以下步骤:

  1. 进入容器:

    sudo docker exec -it my-nginx bash

  2. 在容器中,编辑 /etc/nginx/conf.d/default.conf 文件(如果不存在,则新建这个文件):

    vi /etc/nginx/conf.d/default.conf

  3. 修改文件中的配置。

  4. Esc 键退出编辑模式,然后输入 :wq,保存并退出。

5. 示例1:在容器中挂载本地目录

可以将本地目录挂载到容器中,这样可以方便地修改容器内的文件。下面是一个示例命令:

sudo docker run --name my-nginx -p 80:80 -v /path/to/local/dir:/usr/share/nginx/html -d nginx

这个命令中,使用了 -v 参数,将本地目录 /path/to/local/dir 挂载到容器内的 /usr/share/nginx/html 目录。

这样,在本地修改 /path/to/local/dir 中的文件,就可以在容器内看到了。

6. 示例2:使用 Dockerfile 构建自定义 Nginx 镜像

可以通过编写 Dockerfile 文件,构建自定义的 Nginx 镜像。

在本地创建一个目录,将下面的 Dockerfile 文件放入其中:

FROM nginx

COPY my-nginx.conf /etc/nginx/conf.d/default.conf

上面的指令从官方的 nginx 镜像中创建一个新的镜像,并复制本地的 my-nginx.conf 文件到容器中。

然后创建 my-nginx.conf 配置文件:

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

接下来,在 Dockerfile 所在目录中运行以下命令,来构建自定义的 Nginx 镜像:

sudo docker build -t my-nginx .

解释一下这个命令:

  • -t my-nginx,给镜像取个名字。

  • .,表示当前目录下的 Dockerfile。

最后,使用以下命令运行新的容器:

sudo docker run --name my-custom-nginx -p 80:80 -d my-nginx

至此,完成了在 Docker 上部署 Nginx 的方法。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Docker上部署Nginx的方法步骤 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • CentOS 安装Nginx 的两种方式

    centos7系统库中默认是没有nginx的rpm包的,所以我们自己需要先更新下rpm依赖库 (1)使用yum安装nginx需要包括Nginx的库,安装Nginx的库 #rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch…

    Nginx 2023年4月10日
    00
  • [Linux] Nginx服务下统计网站的QPS

    单位时间的请求数就是QPS,那么在nginx服务的网站下,如果要统计QPS并且按从高到低排列,需要使用awk配合sort进行处理awk做的主要工作是把access每行日志按分隔符分开,然后循环每一行,存到一个数组里,如果只按时间不区分脚本路径,数组里存的数据是比如arr[‘[28/Nov/2019:14:12:23’]=20 key是时间,value是次数 …

    2023年4月9日
    00
  • 服务器使用Nginx部署Springboot项目的详细教程(jar包)

    下面我将详细讲解“服务器使用Nginx部署Springboot项目的详细教程(jar包)”。 前置条件 在开始部署之前,请确保已满足以下条件: 已安装JDK和Maven; 已编译打包好Springboot项目的jar包; 已安装Nginx。 步骤一:上传jar包到服务器 将打包好的Springboot项目上传到服务器,可以使用FTP、SFTP等方式进行上传。…

    Nginx 2023年5月16日
    00
  • nginx配置tp5 pathinfo和去掉index.php

    server { listen 80; server_name tp5.com; charset utf-8; #access_log logs/host.access.log main; index index.php index.html index.htm; root /Users/yssoft/Documents/www/tp5/public; lo…

    Nginx 2023年4月16日
    00
  • CentOS 7 yum 安装 Nginx 以及 TCP流转发 安装步骤

    添加Nginx到YUM源 sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm 安装Nginx sudo yum install -y nginx 启动Nginx sudo systemctl start…

    Nginx 2023年4月9日
    00
  • Nginx启动报错:10013: An attempt was made to access a socket in a way forbidden

    Nginx在win7,win2008下启动报错:bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions) 。 原因是Win7下nginx默认80端口被System占用,造成ng…

    Nginx 2023年4月11日
    00
  • nginx读取图片没有权限

    场景是这样的,我们项目中上传图片到linux服务器后,保存图片存储路径和网络访问路径。app中用数据库返回的 图片访问路径来访问图片(nginx通过nfs方式读取图片)。但是访问不到。要手动 chmod  777 才能访问。 这显然不合理,通过修改weblogic 的startWeblogic.sh 中的unsum   -117  改为 -022就ok了。 …

    Nginx 2023年4月9日
    00
  • nginx的启动流程和接客流程

      把这些日子看nginx的一些笔记整理了下,准备放在这里,发现越整理越大,这次有些比较粗糙,下次按照各个模块在细化下 主要是两部分,诞生准备接客流程,和接客服务流程。为了清晰点,这里只分析单进程的nginx,对于多个工作进程的nginx模式,这里暂时不讨论。   诞生准备接客流程    nginx的这个小baby诞生前的初始化工作若干,这里的小baby特指…

    Nginx 2023年4月11日
    00
合作推广
合作推广
分享本页
返回顶部