docker中nginx配置文件使用动态变量

nginx.conf

......常规配置项

server {
    listen       80;
    server_name  localhost;
location /user/ {
        proxy_pass http://$URL_1/user/;

    }
location /token/ {
        proxy_pass http://$URL_1/token/;
     
    }
//总之就是使用变量名占位

 ......常规配置项  

Dockerfile 问ai的详细的也不理解

# 使用来自Docker Hub的官方Nginx基础镜像

FROM nginx:stable-alpine

#在容器中安装 vim方便查看编辑
RUN apk update && apk add --no-cache vim



#(可选)如果你想要复制自定义的Nginx配置文件
COPY nginx.conf /etc/nginx/nginx.conf

#(可选)如果有自定义的HTML、CSS或其他要提供的文件
COPY html /usr/share/nginx/html

# 将Nginx端口暴露出来(默认为80)
EXPOSE 80

# 在容器启动时启动Nginx


WORKDIR /etc/nginx
#添加环境变量的写入


ENTRYPOINT ["sh", "-c", "envsubst '$URL_1' < /etc/nginx/nginx.conf > /etc/nginx/nginx.conf && nginx -g 'daemon off;'"]



编译

sudo docker build -t my_nginx_image:1.0.13 .

运行

sudo docker run -d -p 80:80 -e URL_1=10.20.29.11:8012 镜像id

日志

sudo docker logs 运行命令后返回的日志id

进入容器查看对应配置文件是否替换

sudo docker exec -it <container_id> /bin/sh

cat /etc/nginx/nginx.conf

exit退出

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Docker使用Nginx时,通常会将Nginx配置文件放在容器的`/etc/nginx`目录下。Nginx配置文件通常名为`nginx.conf`,这是一个文本文件,包含了一系列指令来定义Nginx服务器的行为。以下是一个基础的Docker Nginx配置示例: ```nginx # nginx.conf 示例 worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; server { listen 80; # 或者监听特定的端口,如 8080: listen 8080; server_name example.com; # 替换为你自己的域名或IP location / { root /usr/share/nginx/html; # 根目录,通常是你的网站文件夹 try_files $uri $uri/ =404; # 处理静态文件请求 } # 可能包含gzip、访问控制等其他location块,具体看需求 location ~ /\.ht { deny all; # 防止直接访问隐藏文件 } } } # 运行时可读取环境变量动态配置 # 如: listen ${NGINX_LISTEN_PORT}; ``` 在Dockerfile,你可以这样配置: ```dockerfile FROM nginx:latest COPY nginx.conf /etc/nginx/nginx.conf COPY your-website /usr/share/nginx/html ``` 这里的关键点是,你需要创建一个Nginx配置文件nginx.conf),定义好服务器监听的端口、静态文件的路径,以及可能的路由规则。然后,在Dockerfile,通过`COPY`命令将这个配置文件和你的网站内容复制到镜像。 如果你有更具体的问题,例如配置的某个部分、环境变量使用、或者如何映射主机端口到容器内的端口,可以继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值