[英]ERROR: Dockerfile parse error line 4: unknown instruction: PHP7
I have a dockerfile 我有一个dockerfile
FROM alpine:3.7
RUN apk --no-cache add
php7
php7-fpm
php7-pdo
php7-pdo_mysql
php7-mcrypt
php7-mbstring
php7-xml
php7-openssl
php7-json
php7-phar
php7-zip
php7-dom
php7-session
php7-zlib &&
php7 -r "copy('http://getcomposer.org/installer', 'composer-setup.php');" &&
php7 composer-setup.php --install-dir=/usr/bin --filename=composer &&
php7 -r "unlink('composer-setup.php');" &&
ln -sf /usr/bin/php7 /usr/bin/php &&
ln -s /etc/php7/php.ini /etc/php7/conf.d/php.ini
RUN set -x
&& addgroup -g 82 -S www-data
&& adduser -u 82 -D -S -G www-data www-data
COPY . /src
ADD .env.example /src/.env
WORKDIR /src
RUN ["/bin/sh", "-c"," php artisan key:generate"]
RUN chmod -R 777 storage
CMD php artisan serve --host=0.0.0.0
while running it, I kept getting 在运行时,我不断
Creating network "portal-modules_default" with the default driver
Building fingerprinting
> ERROR: Dockerfile parse error line 4: unknown instruction: PHP7
⚡️ portal-modules
ERROR: Dockerfile parse error line 4: unknown instruction: PHP7
错误:Dockerfile解析错误行4:未知指令:PHP7
Any hints on how to fix that ? 关于如何解决该问题的任何提示?
Do I need to put &
somewhere to concat the commands ? 我是否需要在某处放置
&
来接住命令?
Here is the problem: 这是问题所在:
RUN apk --no-cache add
php7
php7-fpm
php7-pdo
php7-pdo_mysql
php7-mcrypt
php7-mbstring
php7-xml
php7-openssl
php7-json
php7-phar
php7-zip
php7-dom
php7-session
php7-zlib &&
php7 -r "copy('http://getcomposer.org/installer', 'composer-setup.php');" &&
php7 composer-setup.php --install-dir=/usr/bin --filename=composer &&
php7 -r "unlink('composer-setup.php');" &&
ln -sf /usr/bin/php7 /usr/bin/php &&
ln -s /etc/php7/php.ini /etc/php7/conf.d/php.ini
If you want to write command in multi lines use backslash( \\
) sign: 如果要多行编写命令,请使用反斜杠(
\\
)符号:
RUN apk --no-cache add \
php7 \
php7-fpm \
php7-pdo \
php7-pdo_mysql \
php7-mcrypt \
php7-mbstring \
php7-xml \
php7-openssl \
php7-json \
php7-phar \
php7-zip \
php7-dom \
php7-session \
php7-zlib && \
php7 -r "copy('http://getcomposer.org/installer', 'composer-setup.php');" && \
php7 composer-setup.php --install-dir=/usr/bin --filename=composer && \
php7 -r "unlink('composer-setup.php');" && \
ln -sf /usr/bin/php7 /usr/bin/php && \
ln -s /etc/php7/php.ini /etc/php7/conf.d/php.ini
Add backslash to each line when you break the line. 换行时,请在每行中添加反斜杠。
Useful link: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/ 有用的链接: https : //docs.docker.com/develop/develop-images/dockerfile_best-practices/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.