reynierpm
으로 페도라에 로그인했으며 Dockerfile에서 Docker 이미지를 작성한다고 가정 해 보겠습니다. 이 이미지에는 램프 환경이 포함됩니다. 나는 다음과 같이 보이는 아파치 가상 호스트 (VH) 기본 파일이 :이 파일은 이미지에 적절한 위치에 복사 내장 프로세스의 일환으로Docker 컨테이너의 이미지 빌드에 대한 값 설정
<VirtualHost *:80>
#ServerName www.example.com
ServerAdmin [email protected]
DocumentRoot /var/www
<Directory /var/www>
AllowOverride All
Require all granted
</Directory>
ErrorLog /dev/stdout
CustomLog /dev/stdout combined
</VirtualHost>
.
호스트에서 로그인 한 사용자 이름을 가져와이 VH에 동적으로 설정할 수 있습니까? 끝에서 나는 다음과 같은 결과를 얻을 싶습니다
<VirtualHost *:80>
ServerName reynierpm.dev
ServerAdmin [email protected]
DocumentRoot /var/www
<Directory /var/www>
AllowOverride All
Require all granted
</Directory>
ErrorLog /dev/stdout
CustomLog /dev/stdout combined
</VirtualHost>
나는 떠들썩한 파티에서 $(whoami)
를 사용하여 현재 사용자에 대한 가치를 얻을 수 있다는 사실을 알고를하지만 난 삽입 할 수있는 방법/도커의 VH 파일로 설정 구축 ?
FROM ubuntu:14.04.5
MAINTAINER Me <[email protected]>
ARG USER_NAME=unknown
VOLUME ["/var/www"]
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive \
apt-get install -y software-properties-common && \
apt-get update && \
apt-get install -y \
apache2 \
php5 \
php5-cli \
libapache2-mod-php5 \
php5-gd \
php5-json \
php5-mcrypt \
php5-mysql \
php5-xdebug \
php5-curl \
php5-memcached \
php5-mongo \
zend-framework \
mc \
nano
# Copy default virtual host file.
COPY /config/apache2_vhost/apache_default /etc/apache2/sites-available/000-default.conf
COPY run /usr/local/bin/run
RUN chmod +x /usr/local/bin/run
RUN a2enmod rewrite
EXPOSE 80
EXPOSE 9001
CMD ["/usr/local/bin/run"]
UPDATE : 빌드 내가 run
파일에 다음 행을 추가 @Elton 제안 다음은 인수
를 사용하려고하는 동안 실패
이
은Dockerfile
의 내용입니다
sed -i "s/#ServerName www.example.com/$USER_NAME.dev/g" /etc/apache2/sites-available/000-default.conf
다음으로 이미지를 빌드 해보십시오.
docker build --build-arg USER_NAME=$(whoami) -t dev-php55 .
그러나 다음과 같은 메시지와 함께 실패 :
하나 이상의 빌드 - 인수 [USER_NAME]가 소모되지 않았다 구축 실패.
무엇이 잘못 되었습니까? 당신이 빌드 할 때 그런 다음 whoami
을 통과
FROM ubuntu
ARG USER_NAME=unknown
RUN echo Built by: $USER_NAME > /builder.txt
을 : 그 값이 이미지에 고정하려면
내 편집을 살펴볼 수 있습니까? 어쩌면 나는 무엇인가 놓치고있다. – ReynierPM
그 오류는'--build-arg'의 인자의 이름이'ARG'의 이름과 일치하지 않는다는 것을 의미합니다. –
좋아,하지만 이것은 내가 성취하고자하는 것이 아니다. 내가 겪고있는 주요 문제를 이해하고 있습니까? OP가 어쩌면 더 나아 졌는지 살펴보십시오 – ReynierPM