Docker 安装nginx并且配置文件的映射

本文详细介绍了如何使用Docker在服务器上安装并配置Nginx,包括镜像下载、端口映射、文件挂载及配置修改,实现动态端口与静态页面访问。

Docker 安装nginx并且配置文件的映射

1.默认已经有了docker的环境,如果没有的话请查看链接
https://docs.docker.com/get-started/
2.首先将nginx的镜像下载到服务器上docker pull nginx

[root@VM_0_2_centos opt]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
Digest: sha256:23b4dcdf0d34d4a129755fc6f52e1c6e23bb34ea011b315d87e193033bcd1b68
Status: Image is up to date for nginx:latest

3.下载完成之后可以通过docker images 查看下载的所有的镜像

[root@VM_0_2_centos opt]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mysql               latest              990386cbd5c0        2 weeks ago         443MB
nginx               latest              53f3fd8007f7        2 weeks ago         109MB
hello-world         latest              fce289e99eb9        4 months ago        1.84kB
ubuntu              15.10               9b9cb95443b5        2 years ago         137MB
training/webapp     latest              6fae60ef3446        4 years ago         349MB

4.在data下面创建分别创建以下四个目录
/data/nignx/conf 挂载容器里面的配置,即nginx.conf
/data/nignx/conf.d 挂载容器里面的子配置,即nginx.conf里面include的配置文件
/data/nignx/logs 挂载容器里面的代理的日志文件
/data/nignx/html 挂载容器里面的界面的访问
配置好之后就可以启动我们的nginx文件了
5.输入命令

[root@VM_0_2_centos opt]# docker run  --name nginx -d -p 80:80 --net host  -v /data/nginx/html:/usr/share/nginx/html -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf  -v /data/nginx/logs:/var/log/nginx nginx

命令解读:
run:启动一个docker容器
name:容器的名称
d: 后台启动
p: 绑定别的端口 -p a:b 将宿主机器的a端口绑定到容器的b端口 -P 为随机绑定到端口
net :绑定的网络 这里配置成host(因为对于容器内部来说也有一个ip如果不配置的话默认用容器的ip,导致访问不到)
v : 挂载的内容 宿主机器的文件夹:容器的文件夹

6.至此,nginx配置安装完成,界面输入ip可以看到nginx的欢迎界面
7.修改/data/nginx的conf.d和html下的文件,分别如图所示

default.conf
server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.php;
    }
   
    location /create_code {
	proxy_pass http://127.0.0.1:8080;
    }
   
    location /weixin {
       proxy_pass http://127.0.0.1:8761;
    }

    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

index.html

  <html>
    <head>
    <title>Mynginx</title>
    </head>
    <body>
    <h1>
    欢迎使用nginx!
    </h1>
    </body>
    </html>

然后进行重启

[root@VM_0_2_centos html]# docker restart nginx
nginx

8.访问http://coder.struggling-bird.cn/,因为我这里有自己的域名,并且跟服务器的ip进行了绑定
在这里插入图片描述
9.访问http://coder.struggling-bird.cn/create_code/#,出现即成功,这个是本人的自己的一个项目

在这里插入图片描述
以上即完成了nginx的安装和配置并且配置了动态端口和静态的界面
在这里插入图片描述

### 如何在 Docker安装 Nginx 并配置其配置文件 #### 创建并运行 Nginx 容器 为了创建一个新的 Nginx 容器,可以使用 `docker run` 命令来启动官方的 Nginx 镜像。这会自动从 Docker Hub 下载最新的稳定版 Nginx。 ```bash docker run --name my-nginx -d nginx ``` 这条命令将会以后台模式启动一个名为 `my-nginx` 的容器,并基于官方的 Nginx 镜像[^4]。 #### 修改默认端口设置 如果想要更改 Nginx 默认监听的端口号,则需编辑位于宿主机上的 Nginx 配置文件。对于不同类型的 Mac 设备路径有所不同: - 对于 Intel 架构的 Mac,在终端执行如下命令打开配置文件: ```bash nano /usr/local/etc/nginx/nginx.conf ``` - 而对于苹果 M1 或更新型号(Apple Silicon),则应访问此位置: ```bash nano /opt/homebrew/etc/nginx/nginx.conf ``` 找到 `listen` 行并将后面的数字由原来的值更改为期望的新端口号,比如将 `8080` 改成 `80` 后保存退出。之后重启服务使修改生效: ```bash brew services restart nginx ``` 上述操作适用于本地开发环境中的 Nginx 实例配置调整[^2]。 #### 将自定义配置挂载到容器内 为了让容器内的 Nginx 使用外部指定的配置文件而不是自带的一套,默认情况下可以通过卷的方式实现这一点。假设已经在宿主机上准备好了一个定制化的 `nginx.conf` 文件,那么可以在启动容器时通过 `-v` 参数将其映射进去: ```bash docker run --name my-customized-nginx \ -v $(pwd)/nginx.conf:/etc/nginx/nginx.conf:ro \ -p 80:80 \ -d nginx ``` 这里的关键在于 `-v` 参数指定了当前目录下的 `nginx.conf` 映射到了容器内部 `/etc/nginx/` 目录下作为新的主配置文件;而 `-p` 参数用于暴露容器的服务端口给外界访问[^5]。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值