gpt4 book ai didi

php - Dockerfile不安装RUN依赖项

转载 作者:行者123 更新时间:2023-12-02 18:48:22 26 4
gpt4 key购买 nike

docker-compose.yml

  version: '3.7'
services:
php:
build:
context: .
dockerfile: Dockerfile
image: php:7.3-rc-fpm
container_name: php_7.3-rc-fpm
volumes:
- .:/var/www/app
restart: unless-stopped
working_dir: /var/www
stdin_open: true
tty: true

Docker文件
FROM php:7.3-rc-fpm

RUN apt-get update && apt-get install -y \
build-essential \
mysql-client \
locales \
zip \
vim \
unzip \
git \
curl


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

# Install extensions
RUN docker-php-ext-install pdo_mysql mbstring zip pcntl

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

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

# Change current user to www
USER www

起始容器
docker-compose up -d

当我执行
docker-compose exec php bash

其次是
mysql --version

造成
bash: mysql: command not found

缺少 mysql-client,其他人也正在运行安装...

知道发生了什么吗?

....并且当我没有任何内容时....... stackoverflow需要更多详细信息来批准我的编辑........

最佳答案

image: php:7.3-rc-fpm应该删除。

它告诉docker-compose是从“php_7.3-rc-fpm”镜像构建的,而不是从Dockerfile的镜像构建的(这是优先级的问题)。因此,正常情况下,您要求安装在Dockerfile中的任何内容都不可用...

我进行了测试,以确保确实如此,如果您删除此行,则docker-compose exec php bashmysql --version后跟的命令将为您提供期望的结果。

关于php - Dockerfile不安装RUN依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53618865/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com