home 目录下面,一开始是没有任何的文件夹和文件的
下面两部分代码,一个是 linuxserver 的 nginx 镜像,一个是官方版
docker run -d
--name=nginx
-e PUID=1000
-e PGID=1000
-e Asia/Shanghai
-p 80:80
-p 443:443
-v /home/nginx:/config
--restart unless-stopped
lscr.io/linuxserver/nginx:latest
docker run -d
--name nginx1
--log-opt max-size=1m
-v /home/nginx1:/etc/nginx
--restart unless-stopped
nginx
运行之后,
linuxserver 会在 /home/nginx 里自动创建文件夹和文件(注意是文件夹和配置文件都自动创建了),
1.为啥官方版的 Nginx 不会自动创建文件呢?
2.怎么让官方版的自动创建文件呢?就是 nginx.conf 这些配置文件。
答案:
-
官方版的 Nginx 不会自动创建文件的原因是,它的镜像内部已经有默认的配置文件,没有设置自动映射外部文件。
-
如果想让官方版的 Nginx 自动创建配置文件,可以在启动容器时使用
-v
参数指定映射外部文件到容器内部的路径。例如:
docker run -d \
--name nginx1 \
--log-opt max-size=1m \
-v /home/nginx1:/etc/nginx \
-v /path/to/custom/config:/etc/nginx/conf.d \
--restart unless-stopped \
nginx
这条命令将外部路径 /home/nginx1
映射到容器内部的 /etc/nginx
路径,同时还将一个自定义的配置文件路径 /path/to/custom/config
映射到容器内部的 /etc/nginx/conf.d
路径。这样,在容器启动时,它会将外部的文件自动映射到容器内部,从而实现自动创建文件的功能。