E: 使用 docker compose 在 php-fpm 映像构建中,包 'mysql-client' 没有安装候选

新手上路,请多包涵

我对 docker 相当陌生,所以我尝试使用 laravel 项目了解更多关于它的信息,我正在遵循本教程:

https://www.digitalocean.com/community/tutorials/how-to-set-up-laravel-nginx-and-mysql-with-docker-compose

我已经根据教程的内容稍微调整了 Dockerfile,但即使是教程文件也会导致相同的结果。

 FROM php:7.3-fpm

# Copy composer.lock and composer.json
COPY composer.lock composer.json /var/www/
# Install dependencies
RUN curl -sL https://deb.nodesource.com/setup_10.x | bash - && \
    apt-get update && apt-get install -y mysql-client \


RUN npm install -g npm

# Clear cache
RUN apt-get clean && rm -rf /var/lib/apt/lists/*

# Install extensions
RUN docker-php-ext-install pdo pdo_mysql

# Install composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

# Add user for laravel application
RUN groupadd -g 1000 www
RUN useradd -u 1000 -ms /bin/bash -g www www

# Copy existing application directory contents
COPY . /var/www

# Copy existing application directory permissions
COPY --chown=www:www . /var/www

# Change current user to www
USER www
# Set working directory
WORKDIR /var/www
# Expose port 9000 and start php-fpm server
EXPOSE 9000

CMD ["php-fpm"]

但是当我运行 docker-compose up -d 时,我不断收到以下错误:

 E: Package 'mysql-client' has no installation candidate
ERROR: Service 'app' failed to build: The command '/bin/sh -c curl -sL https://deb.nodesource.com/setup_10.x | bash - &&     apt-get update && apt-get install -y mysql-client     nodejs     build-essential     vim     git     curl' returned a non-zero code: 100

我错过了什么吗?

我希望这可以工作,因为我正在运行 apt-get update 在安装 mysql-client --- 之前。

谢谢。

原文由 surgiie 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 518
2 个回答

php:7.3-fpm 现在使用 Debian 10 (Buster) 作为其 基础映像,并且 Buster 附带 MariaDB,因此只需将 mysql-client 替换为 mariadb-client 修复它。

原文由 Yuan-Chen Ho 发布,翻译遵循 CC BY-SA 4.0 许可协议

如果你还想用mysql客户端,现在叫 default-mysql-client

原文由 Emil Johnsson 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题