Php can';在一个世纪内完成NGINX 7

Php can';在一个世纪内完成NGINX 7,php,docker,nginx,docker-compose,dockerfile,Php,Docker,Nginx,Docker Compose,Dockerfile,你能帮我吗 我正在尝试使用centOS 7创建一个容器,并在其上运行nginx和PHP。这是我的dockerfile: FROM remote-host COPY ./conf/nginx.repo /etc/yum.repos.d/nginx.repo RUN \ yum -y install nginx-1.12.2 --enablerepo=

你能帮我吗

我正在尝试使用centOS 7创建一个容器,并在其上运行nginx和PHP。这是我的dockerfile:

FROM remote-host
COPY ./conf/nginx.repo /etc/yum.repos.d/nginx.repo
RUN                                                                          \
  yum -y install nginx-1.12.2 --enablerepo=nginx                  && \
  yum -y install https://repo.ius.io/ius-release-el7.rpm                  && \
  yum -y install                                                             \
    php71u-fpm                                                               \
    php71u-cli                                                               \
    php71u-mysqlnd                                                           \
    php71u-soap                                                              \
    php71u-xml                                                               \
    php71u-zip                                                               \
    php71u-json                                                              \
    php71u-mcrypt                                                            \
    php71u-mbstring                                                          \
    php71u-zip                                                               \
    php71u-gd                                                                \
     --enablerepo=ius-archive && yum clean all
EXPOSE 80 443
VOLUME /var/www/html /var/log/nginx /var/log/php-fpm /var/lib/php-fpm
COPY ./conf/nginx.conf /etc/nginx/conf.d/default.conf
COPY ./bin/start.sh /start.sh
RUN chmod +x /start.sh
CMD /start.sh
但当docker开始创建它时,会出现以下错误:

Building web
Step 1/9 : FROM remote-host
 ---> 678df95b4f1b
Step 2/9 : COPY ./conf/nginx.repo /etc/yum.repos.d/nginx.repo
 ---> Using cache
 ---> 2846848bf7b4
Step 3/9 : RUN                                                                            yum -y install nginx-1.12.2 --enablerepo=nginx                  &&   yum -y install https://repo.ius.io/ius-release-el7.rpm                  &&   yum -y install                                                                 php71u-fpm                                                                   php71u-cli                                                                   php71u-mysqlnd                                                               php71u-soap                                                                  php71u-xml                                                                   php71u-zip                                                                   php71u-json                                                                  php71u-mcrypt                                                                php71u-mbstring                                                              php71u-zip                                                                   php71u-gd                                                                     --enablerepo=ius-archive && yum clean all
 ---> Running in 16ffb3c86062
CentOS-8 - AppStream                            4.2 kB/s | 4.3 kB     00:01    
CentOS-8 - Base                                 3.5 kB/s | 3.9 kB     00:01    
CentOS-8 - Extras                               1.5 kB/s | 1.5 kB     00:00    
CentOS-8 - Extras                               5.4 kB/s | 8.6 kB     00:01    
Extra Packages for Enterprise Linux Modular 8 - 4.7 kB/s | 2.7 kB     00:00    
Extra Packages for Enterprise Linux Modular 8 -  27 kB/s |  97 kB     00:03    
Extra Packages for Enterprise Linux 8 - x86_64  5.1 kB/s | 3.9 kB     00:00    
Extra Packages for Enterprise Linux 8 - x86_64  615 kB/s | 8.3 MB     00:13    
nginx repo                                       52 kB/s |  76 kB     00:01    
All matches were filtered out by modular filtering for argument: nginx-1.12.2
Error: Unable to find a match: nginx-1.12.2
ERROR: Service 'web' failed to build : The command '/bin/sh -c yum -y install nginx-1.12.2 --enablerepo=nginx                  &&   yum -y install https://repo.ius.io/ius-release-el7.rpm                  &&   yum -y install                                                                 php71u-fpm                                                                   php71u-cli                                                                   php71u-mysqlnd                                                               php71u-soap                                                                  php71u-xml                                                                   php71u-zip                                                                   php71u-json                                                                  php71u-mcrypt                                                                php71u-mbstring                                                              php71u-zip                                                                   php71u-gd                                                                     --enablerepo=ius-archive && yum clean all' returned a non-zero code: 1

为什么找不到nginx-1.12.2?另外,PHP版本有问题吗?

这里有两个问题:

  • https://repo.ius.io/ius-release-el7.rpm
    ,因此您需要先安装此源代码

  • 此源代码中的nginx是
    1.16.1
    ,请参见:

    # yum list | grep nginx
    nginx.x86_64                              1:1.16.1-2.el7                 @epel
    
    所以,如果你真的坚持1.12.2,你必须找到一个新的来源

php版本还可以,如果您不关心nginx版本,那么可以使用一个最小的
Dockerfile
作为下一个:

FROM centos:7
RUN                                                                          \
  yum -y install https://repo.ius.io/ius-release-el7.rpm                  && \
  yum -y install nginx-1.16.1                                             && \
  yum -y install                                                             \
    php71u-fpm                                                               \
    php71u-cli                                                               \
    php71u-mysqlnd                                                           \
    php71u-soap                                                              \
    php71u-xml                                                               \
    php71u-zip                                                               \
    php71u-json                                                              \
    php71u-mcrypt                                                            \
    php71u-mbstring                                                          \
    php71u-zip                                                               \
    php71u-gd                                                                \
     --enablerepo=ius-archive && yum clean all

这里有两个问题:

  • https://repo.ius.io/ius-release-el7.rpm
    ,因此您需要先安装此源代码

  • 此源代码中的nginx是
    1.16.1
    ,请参见:

    # yum list | grep nginx
    nginx.x86_64                              1:1.16.1-2.el7                 @epel
    
    所以,如果你真的坚持1.12.2,你必须找到一个新的来源

php版本还可以,如果您不关心nginx版本,那么可以使用一个最小的
Dockerfile
作为下一个:

FROM centos:7
RUN                                                                          \
  yum -y install https://repo.ius.io/ius-release-el7.rpm                  && \
  yum -y install nginx-1.16.1                                             && \
  yum -y install                                                             \
    php71u-fpm                                                               \
    php71u-cli                                                               \
    php71u-mysqlnd                                                           \
    php71u-soap                                                              \
    php71u-xml                                                               \
    php71u-zip                                                               \
    php71u-json                                                              \
    php71u-mcrypt                                                            \
    php71u-mbstring                                                          \
    php71u-zip                                                               \
    php71u-gd                                                                \
     --enablerepo=ius-archive && yum clean all
为此目的,Dockerfile的确切需求:

为此目的,Dockerfile的确切需求:


您省略了最重要的信息:什么是
远程主机
?docker compose中的服务是Centos7容器,早期安装了其他服务。您省略了最重要的信息:什么是
远程主机
?docker compose中的服务是Centos7容器,早期安装了其他服务