docker compose build 时报错 no such file or directory

Aik*_*ika 2 docker dockerfile docker-compose

$docker-compose build
Run Code Online (Sandbox Code Playgroud)
mv: cannot stat '/root/.symfony/bin/symfony': No such file or directory
ERROR: Service 'www_symfony_colcot' failed to build: The command '/bin/sh -c echo "ServerName localhost" >> /etc/apache2/apache2.conf     &&  apt-get
Run Code Online (Sandbox Code Playgroud)

通常由 docker-compose.yml 自动生成

docker-compose.yml :

version: "3.5"
services:         
    db_symfony_colcot:
        image: mariadb:10.5.13
        container_name: db_symfony_colcot
        command: [ "--default-authentication-plugin=mysql_native_password" ]
        restart: always
        environment:
          MYSQL_ROOT_PASSWORD: gsbgenerique
          MYSQL_DATABASE: colcot
          MYSQL_USER: gestionnaire
          MYSQL_PASSWORD: gsbgenerique
        volumes:
          - ./initSQL/:/docker-entrypoint-initdb.d/
          - "./datamysql-colcot:/var/lib/mysql"
        ports:
          - "3311:3306"
        networks:
          - dev-sym

    www_symfony_colcot:
        build: php
        container_name: www_symfony_colcot
        ports:
          - "8094:80"
        user: 0:0
        volumes:
            - ./php/vhosts:/etc/apache2/sites-enabled
            - /home/marc/Desktop/colcot/colcot-2022/Colcot/:/var/www
        restart: always
        networks:
            - dev-sym

networks:
    dev-sym:

volumes:
    db-data:


Run Code Online (Sandbox Code Playgroud)

Dockerfile:

FROM php:7.4-apache

RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf \
\
    &&  apt-get update \
    &&  apt-get install -y --no-install-recommends \
        locales apt-utils git libicu-dev g++ libpng-dev libxml2-dev libzip-dev libonig-dev libxslt-dev unzip \
\
    &&  echo "en_US.UTF-8 UTF-8" > /etc/locale.gen  \
    &&  echo "fr_FR.UTF-8 UTF-8" >> /etc/locale.gen \
    &&  locale-gen \
\
    &&  curl -sS https://getcomposer.org/installer | php -- \
    &&  mv composer.phar /usr/local/bin/composer \
\
    &&  curl -sS https://get.symfony.com/cli/installer | bash \
    &&  mv /root/.symfony/bin/symfony /usr/local/bin \
    &&  useradd -m symfony -u 1001 \
\ 
    &&  docker-php-ext-configure \
            intl \
    &&  docker-php-ext-install \
            pdo pdo_mysql opcache intl zip calendar dom mbstring gd xsl \
\
    &&  pecl install apcu && docker-php-ext-enable apcu

WORKDIR /var/www/

Run Code Online (Sandbox Code Playgroud)

线路引起的错误:

&&  mv /root/.symfony/bin/symfony /usr/local/bin \
Run Code Online (Sandbox Code Playgroud)

请问我该如何解决这个错误。顺便说一句,我是 docker 的初学者,但这个项目从 5 个月前就开始工作了。

已经尝试过:

  • 更改 mariadb 版本
  • 所有 php 版本(从 5.6 到 8)
  • 更改 dockercompose 版本

结果:仍然无法正常工作并且出现同样的错误

nor*_*bjd 5

您用来安装的命令symfony

curl -sS https://get.symfony.com/cli/installer | bash
Run Code Online (Sandbox Code Playgroud)

正在安装 Symfony 版本 5。文件位于symfony5文件夹中(注意5):

The Symfony CLI was installed successfully!

Use it as a local file:
  /root/.symfony5/bin/symfony
Run Code Online (Sandbox Code Playgroud)

因此,您应该运行以下命令,而不是运行mv /root/.symfony/bin/symfony /usr/local/bin.symfony文件夹不存在):

The Symfony CLI was installed successfully!

Use it as a local file:
  /root/.symfony5/bin/symfony
Run Code Online (Sandbox Code Playgroud)

顺便说一句,截至 2022 年,使用此脚本似乎不再是推荐的方法:请参阅https://symfony.com/download

.symfony有关信息,将脚本中的文件夹从 更改为的提交.symfony5是:https://github.com/symfony-cli/symfony-cli/commit/5301ebfa8f5918cae7fa0bf63c86f84dbd70f599