我试图采用现有的Mantis Bug Tracker泊坞窗图像,并以一种取决于环境变量的方式扩展它,我将螳螂网站移动到相应的文件夹。这就是我想出的:
FROM vimagick/mantisbt:latest
MAINTAINER kev <me@janjko.hr>
RUN mkdir /var/www/tempMove && \
mv /var/www/html/* /var/www/tempMove/ && \
mkdir /var/www/html/${MANTIS_FOLDER:-mantis} && \
mv /var/www/tempMove/* /var/www/html/${MANTIS_FOLDER:-mantis}
我使用$ {variable:-word}语法和&#34; mantis&#34;是默认的。当我使用这个图像时,网站总是在mantis文件夹中出现,这意味着,它并没有从docker-compose中获取我的字符串:
environment:
- MANTIS_FOLDER=example
我做错了什么?
答案 0 :(得分:0)
根据docker-compose文档,您需要使用ARGS
:构建参数,这些参数只能在构建过程中访问。
注意:如果您的服务指定了构建选项,则定义的变量 在构建期间,环境不会自动显示。使用 构建的args子选项,用于定义构建时环境变量。
Dockerfile
应修改为:
FROM vimagick/mantisbt:latest
MAINTAINER kev <me@janjko.hr>
ARG MANTIS_FOLDER
RUN mkdir /var/www/tempMove && \
mv /var/www/html/* /var/www/tempMove/ && \
mkdir /var/www/html/${MANTIS_FOLDER:-mantis} && \
mv /var/www/tempMove/* /var/www/html/${MANTIS_FOLDER:-mantis}
docker-compose.yaml
也应该修改:
version: '3'
services:
service:
build:
context: .
args:
MANTIS_FOLDER: example