当前位置: 首页 > 知识库问答 >
问题:

Docker文件安装错误的php

柳玄裳
2023-03-14

我有一个laravel/php docker图像,我将其更新为php 8.1-我现在正试图返回到我们的项目版本7.3,但不会工作。

这是我的YAML

###############################################################################
#                          Generated on forwardforce.io                          #
###############################################################################
version: "3.1"
services:

  postgres:
    image: postgres:11.1-alpine
    container_name: mtn-postgres
    working_dir: /application
    volumes:
    - db:/var/lib/postgresql/data
    - .:/application
    ports:
    - 5001:5432
    environment:
    - POSTGRES_USER=root
    - POSTGRES_PASSWORD=root
    - POSTGRES_DB=forge

  webserver:
    image: nginx:alpine
    container_name: mtn-webserver
    working_dir: /application
    volumes:
    - .:/application
    - ./phpdocker/nginx/nginx.conf:/etc/nginx/conf.d/default.conf
    ports:
    - "8091:80"
    tty: true

  php-fpm:
    build: phpdocker/php-fpm
    container_name: mtn-php-fpm
    working_dir: /application
    environment:
      XDEBUG_CONFIG: "remote_host=docker.for.mac.host.internal"
      PHP_IDE_CONFIG: "serverName=MTN-Docker"
    image: php:7.2-alpine
    volumes:
    - .:/application
    - ./phpdocker/php-fpm/php-ini-overrides.ini:/etc/php/7.2/fpm/conf.d/99-overrides.ini

volumes:
    db:

这是我的文件

FROM php:7.4-fpm-alpine

WORKDIR "/application"

# Fix debconf warnings upon build
ARG DEBIAN_FRONTEND=noninteractive

# Install git
RUN apt-get update \
    && apt-get -y install libpng-dev \
    && apt-get clean; rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*

# Install selected extensions and other stuff
RUN apt-get update \
    && apt-get -y --no-install-recommends install  php7.2-pgsql php7.2-gd php-xdebug php-ssh2 \
    && apt-get clean; rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*

# Install git
RUN apt-get update \
    && apt-get -y install git \
    && apt-get clean; rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*

# Install php-imagick
RUN apt-get update \
    && apt-get -y install php-imagick \
    && apt-get clean; rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*

# Install Node.js, Yarn and required dependencies
RUN apt-get update \
  && apt-get install -y curl gnupg build-essential \
  && curl --silent --location https://deb.nodesource.com/setup_10.x | bash - \
  && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
  && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \
  && apt-get remove -y --purge cmdtest \
  && apt-get update \
  && apt-get install -y nodejs yarn \
  # remove useless files from the current layer
  && rm -rf /var/lib/apt/lists/* \
  && rm -rf /var/lib/apt/lists.d/* \
  && apt-get autoremove \
  && apt-get clean \
  && apt-get autoclean

RUN npm install -g cordova ionic
RUN npm i -D -E -g @angular/cli

我已经删除了docker缓存

但是我确实在运行时在构建中看到“59bf1c3509f3已经存在”。完成后,我拥有最新版本的PHP 8.13

那么,它可能是我没有清理的其他地方的另一个缓存吗?或者如何强制安装PHP 7.2到7.3

共有1个答案

孟祯
2023-03-14

apt是基于Debian的分发的包管理器。使用apk管理Alpine Linux上的软件包。查看如何使用此图像。

 类似资料:
  • 我正在尝试从cmd运行我的. py文件,我的python安装在 C:\程序文件 (x86)\蟒蛇37-32\ 并且相同的已被添加到环境路径变量中,那么为什么当我运行它指向 PyInstallerFile.py 文件时 C:\Program Data\Anaconda 3\lib\site-pack\pandas__init__. py 文件夹而不是指向ProgramFiles文件夹。 我在这里错过

  • 我一直在尝试建立一个简单的码头工人形象,但我在企业防火墙后面。我已经尝试了下面的所有步骤,但没有任何效果。 尝试1:如果我除了Docker Desktop之外没有任何代理设置- 我明白了。 4次,然后停止,无法找到满足pyqt5要求的版本 尝试2:如果我除了Docker桌面没有任何代理设置- 我明白了。 尝试3:如果我除了Docker桌面没有为代理设置任何东西- 我明白了。 我明白了。 尝试4:将

  • 我在安装插件(elasticsearch-image)时遇到一个问题。 脚本:bin/plugin install kiwionly/elasticsearch-image/2.4.1错误:在plugin zip(plugin:https://libraries.io/github/kiwionly/elasticsearch-image)中找不到plugin描述符“plugin-descript

  • 问题内容: 我正在尝试将Postgres与Docker一起构建Flask应用程序。我想连接到Postgres的AWS RDS实例,但是将Docker用于我的Flask应用程序。但是,在尝试设置时会遇到错误,因为找不到。这是错误: 这是我的: 许多其他问题在本地似乎也有类似的问题,但没有一个涉及使用Docker。 这似乎是一个Docker问题,因为我可以设置本地虚拟环境,并且安装正常,因为我在本地安

  • 我正在尝试在GoogleKubernetes引擎中的docker映像中安装fuse。 这是我的多克文件: 但是当我尝试构建这个图像时,我得到了以下错误: 我试图在docker容器内的ubuntu映像上运行这个程序,以访问容器内的Google云存储。 我只想在我的容器内下载gcsfuse,我已经尝试了很多事情,最终都出现了错误,但这个错误似乎是最合理的错误,所以我问这个,但如果有更好的方法来下载保险

  • 我有一个我想分发的python项目。我阅读了多个关于如何编写我的setup.py文件以及如何安装产生的车轮的教程:示例项目示例、setup.py教程、wheel doc、wheel install或wheel install。 我的项目的结构是: 我像下面的那样构建我的车轮,然后将生成的车轮放到项目之外的另一个文件夹中,并执行操作。我还尝试了 问题是,当我查看我的python文件夹时,没有: 文件