docker-compose开箱即用之Nginx篇

04c3e05e970b68db1b1991fbf6c45bf5.png

通常情况下,我们在日常使用docker或开发调试过程中,用的比较多的就是nginx了。这里记录一个完整的示例,以便在需要的时候可以直接拿来使用,充分利用docker的开箱即用模式。这里我们使用alpine版本的nginx,因为这个版本的体积非常小,只有20几兆,在使用时可以提高部署的效率。

79393ee30afdedea6ec4e5a737e52792.png

先创建一个名为docker-compose.yml的文件,在里面定义nginx容器的配置。内容如下:

version: '3'  
services:  
  nginx:  
    image: nginx:alpine  
    ports:  
      - 80:80  
    volumes:  
      - ./nginx.conf:/etc/nginx/nginx.conf  
      - ./html:/usr/share/nginx/html  
    restart: always

简单解释下上面的代码,在上述配置中,

1. 我们使用了nginx:alpine镜像作为nginx容器的基础镜像。
2. 将容器的端口80映射到主机的端口80。
3. 通过volumes字段,我们将本地的nginx.conf文件挂载到容器的/etc/nginx/nginx.conf位置,以便自定义nginx的配置。
4.将一个名为html的本地目录挂载到容器的/usr/share/nginx/html位置,作为nginx的默认网页根目录。
5. 通过设置restart: always,确保容器在退出时自动重启。

然后我们还需要一个nginx.conf配置文件,内容如下

worker_processes 1;  


events {  
    worker_connections 1024;  
}  


http {  
    server {  
        listen 80;  
        server_name example.com;  
        root /usr/share/nginx/html;  
        index index.html;  
    }  
}

上述示例中,
1. 定义了一个http块,其中包含一个server块。
2. 在server块中,我们指定了监听端口为80,并使用server_name指令定义了服务器的名称(这里使用example.com作为示例)。
3. 根目录设置为/usr/share/nginx/html,即我们之前挂载的本地目录。
4. 使用index指令定义了默认的索引文件为index.html。

具体使用中我们可以根据实际需求进行适当的配置更改。保存并关闭nginx.conf文件后,将该文件放置在与docker-compose.yml相同的目录下。

然后,使用以下命令在本地运行nginx容器:

docker-compose up -d

这将根据配置文件创建并启动一个名为nginx的容器。如果要访问一个地址,可以创建一个index.html的文件在html目录,然后通过浏览器访问可以看到index.html文件的内容。到这里基础配置就完成了,接下来我们就可以把需要放置的文件放在html目录下进行使用了。

8d6afb4cab2569f33c9c782fce8c6ad1.png

如果不用docker-compose,只是使用docker run来执行,可以使用如下命令

docker run -p 80:80 -v /data/html:/usr/share/nginx/html -v /data/config:/etc/nginx nginx:alpine

使用了两个-v选项参数来指定卷的设置。通过这种方式,可以将主机上的目录和配置文件映射到容器中相应的位置,以便在容器中访问和使用这些文件。使用时需要将冒号之前的内容/data/html和/data/config替换为实际要映射的目录和配置文件的路径。

以上两种方式可以拿来即用,建议收藏本文,以后用到docker nginx时可以减少麻烦并节约很多时间。

✨✨ 感谢阅读,欢迎关注 ✨✨

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值