Docker: E: 无法找到软件包 mysql-client?—-no-install-recommends

aas*_*hez 2 php laravel docker

我正在关注本教程:Laravel 5.6 in Docker with PHP 7.2, NGINX 1.10 and MySQL 5.7

\n\n

这基本上是以下内容的更新:Laravel + Docker Part 1\xe2\x80\x8a\xe2\x80\x94\xe2\x80\x8asetup for Development

\n\n

但当我跑的时候

\n\n
docker-compose up\n
Run Code Online (Sandbox Code Playgroud)\n\n

我收到这个错误

\n\n
E: Unable to locate package mysql-client\xe2\x80\x8a\xe2\x80\x94-no-install-recommends\nERROR: Service \'app\' failed to build: The command \'/bin/sh -c apt-get update && apt-get install -y mysql-client\xe2\x80\x8a\xe2\x80\x94-no-install-recommends  && docker-php-ext-install pdo_mysql\' returned a non-zero code: 100\n
Run Code Online (Sandbox Code Playgroud)\n\n

完整输出

\n\n
Creating network "pulzu_default" with the default driver\nBuilding app\nStep 1/2 : FROM php:7.2.2-fpm\n ---> 60245f64ed12\nStep 2/2 : RUN apt-get update && apt-get install -y mysql-client\xe2\x80\x8a\xe2\x80\x94-no-install-recommends  && docker-php-ext-install pdo_mysql\n ---> Running in cefd70564b31\nGet:1 http://security.debian.org stretch/updates InRelease [94.3 kB]\nIgn:2 http://cdn-fastly.deb.debian.org/debian stretch InRelease\nGet:3 http://cdn-fastly.deb.debian.org/debian stretch-updates InRelease [91.0 kB]\nGet:5 http://security.debian.org stretch/updates/main amd64 Packages [468 kB]\nGet:4 http://cdn-fastly.deb.debian.org/debian stretch Release [118 kB]\nGet:6 http://cdn-fastly.deb.debian.org/debian stretch Release.gpg [2434 B]\nGet:7 http://cdn-fastly.deb.debian.org/debian stretch-updates/main amd64 Packages [12.1 kB]\nGet:8 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 Packages [9530 kB]\nFetched 10.3 MB in 2s (4142 kB/s)\nReading package lists...\nReading package lists...\nBuilding dependency tree...\nReading state information...\nE: Unable to locate package mysql-client\xe2\x80\x8a\xe2\x80\x94-no-install-recommends\nERROR: Service \'app\' failed to build: The command \'/bin/sh -c apt-get update && apt-get install -y mysql-client\xe2\x80\x8a\xe2\x80\x94-no-install-recommends  && docker-php-ext-install pdo_mysql\' returned a non-zero code: 100\n
Run Code Online (Sandbox Code Playgroud)\n\n

有谁知道如何解决它?

\n

Ken*_*ris 5

该映像缺少能够安装的依赖项mysql-client,这是由该--no-install-recommends标志引起的。默认情况下,Ubuntu 安装推荐但不建议的软件包。使用 时--no-install-recommends,仅安装主要依赖项(Depends 字段中的包)。

Dockerfile根据文章将 或更改app.dockerfile为:

FROM php:7.2.2-fpm RUN apt-get update && apt-get install -y mysql-client \ && docker-php-ext-install pdo_mysql

并且您应该能够构建图像,因此该docker-compose up命令可以工作。