首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误: Dockerfile解析错误第4行:未知指令: PHP7

问错误: Dockerfile解析错误第4行:未知指令: PHP7
EN

Stack Overflow用户
提问于 2019-03-29 13:26:47
回答 1查看 4.4K关注 0票数 0

我有个文件

​

​

代码语言:javascript
复制
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

当我运行它的时候,我一直

代码语言:javascript
复制
Creating network "portal-modules_default" with the default driver                                                                  
Building fingerprinting                                                                                                            
> ERROR: Dockerfile parse error line 4: unknown instruction: PHP7                                                                    
⚡️  portal-modules 

错误: Dockerfile解析错误第4行:未知指令: PHP7

有什么解决办法的提示吗?

我是否需要在某个地方放置&来连接这些命令?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-29 13:32:28

以下是问题所在:

代码语言:javascript
复制
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

如果要用多行编写命令,请使用反斜杠(\)符号:

代码语言:javascript
复制
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

将反斜杠添加到每一行中,当您打破这一行时.

有用的链接:best-practices/

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55418479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档