我有以下bash脚本命令
read -r -d '' FILECONTENT <<'ENDFILECONTENT'
index index.html;
location ~ /\.ht {
deny all;
}
ENDFILECONTENT
echo "$FILECONTENT" > /etc/nginx/common.conf
如何更改此设置以使其在Dockerfile中成功运行?
我试过了
## Common Configuration
run read -r -d '' FILECONTENT <<'ENDFILECONTENT'
index index.html;
location ~ /\.ht {
deny all;
}
ENDFILECONTENT
run echo "$FILECONTENT" > /etc/nginx/common.conf
我在docker build -t ubuntu1404/djangoapp .
Step 10 : RUN read -r -d '' FILECONTENT <<'ENDFILECONTENT'
---> Running in 69508c5aaed0
/bin/sh: 1: read: Illegal option -d
INFO[0062] The command [/bin/sh -c read -r -d '' FILECONTENT <<'ENDFILECONTENT'] returned a non-zero code: 2
答案 0 :(得分:2)
k10d建议我使用COPY。
这有效
拥有以下
index index.html;
location ~ /\.ht {
deny all;
}
在nginx_configuration/common.conf
nginx_configuration/
是与Dockerfile
## copy the nginx config files
COPY ./nginx_configuration/common.conf /etc/nginx/common.conf
按正常方式运行dockerfile。
docker build -t ubuntu1404/djangoapp .
答案 1 :(得分:0)
我会按照VonC的说法做:将该脚本放入您的仓库并在运行时将其作为入口点运行,以便在开始服务之前生成您的配置。