我正在嘗試創建一個nginx docker容器(提供文件上傳/下載)。 在html根目錄下,我正在創建一些額外的子文件夾(上傳和下載)。碼頭不會在nginx html根目錄中創建文件夾
我把nginx docker鏡像作爲我的基礎,並添加了一些額外的行來創建/初始化子文件夾。
FROM nginx
MAINTAINER Carl Wainwright <[email protected]>
ENV HTML_PATH /var/www/html
COPY nginx.conf /etc/nginx/nginx.conf
RUN mkdir -p $HTML_PATH/upload && mkdir -p $HTML_PATH/download
RUN chmod 755 $HTML_PATH/upload && mkdir chmod 755 $HTML_PATH/download
RUN chown nginx:nginx $HTML_PATH/upload && chown nginx:nginx $HTML_PATH/download
在我的碼頭工人,撰寫文件,我創造我的容器如下:
wbh-device-asset-server:
restart: always
image: wbh-device-asset-server/nginx:test
container_name: wbh-device-asset-server
volumes:
- /www-data:/var/www/html
ports:
- "8081:8081"
networks:
- mynetwork
我的nginx的配置具有以下服務器配置。
server {
error_log /var/log/nginx/error.log debug;
access_log /var/log/nginx/access.log main;
# Running port
listen 8081;
# Proxy requests to get SDP's
location ~ \.sdp {
root /var/www/html;
try_files $uri =404;
limit_except GET { deny all; }
}
# Proxy requests to put APD's.
location ~ \.(apd) {
dav_methods PUT;
limit_except PUT { deny all; }
client_body_temp_path /tmp/files/;
client_body_in_file_only on;
client_body_buffer_size 128K;
client_max_body_size 30M;
}
在我的本地機器上存在/ www-data存在並具有寫入權限。 每次我把容器放到/ www-data的內容都是空的。
爲什麼我無法在/ var/www/html /下創建文件夾?什麼阻止我這樣做。
注意:作爲我的疑難解答的一部分,我創建了一個基於centos的docker鏡像,並從軟件包中安裝了nginx,並面臨同樣的問題。
當您從主機安裝文件夾到容器時,主機文件夾內容盛行,並且在安裝前您將看不到創建**的容器文件夾。 –
現在是完美的感覺.. –