将bin文件复制到docker容器导致错误

我正在尝试设置一个docker-compose系统,我想在启动时将开发工具复制到/usr/local/bin/

那是我docker-compose.yml

 version: '3' services: web: build: docker/container/nginx ports: - 4000:80 volumes: &m2volume - ./src:/var/www/html/ - ./docker/data/bin/:/usr/local/bin/ - ~/.composer:/var/www/.composer networks: &m2network - www links: - "php" - "mariadb:mysql" mariadb: image: mariadb ports: - 8001:3306 networks: *m2network ports: - "3307:3306" environment: MYSQL_ROOT_PASSWORD: magento2 MYSQL_DATABASE: db MYSQL_USER: magento2 MYSQL_PASSWORD: magento2 volumes: - ./docker/container/db/docker-entrypoint-initdb.d/:/docker-entrypoint-initdb.d/ - ./docker/container/db/conf.d:/etc/mysql/conf.d - ./docker/data/mariadb:/var/lib/mysql php: build: docker/container/fpm volumes: *m2volume networks: *m2network networks: www: 

如果我离开- ./docker/data/bin/:/usr/local/bin/ ,我得到一个错误:

 ERROR: for m2_php_1 Cannot start service php: oci runtime error: container_linux.go:262: starting container process caused "exec: \"docker-php-entrypoint\": executable file not found in $PATH" Starting m2_mariadb_1 ... done ERROR: for php Cannot start service php: oci runtime error: container_linux.go:262: starting container process caused "exec: \"docker-php-entrypoint\": executable file not found in $PATH" 

如果我取消注释,一切正常。

我在这里做错了什么?

如果我正确地理解了这一点,并且映射卷./docker/data/bin/:/usr/local/bin/正在引发exception,那么这可能是由于mariadb映像中定义的入口点。

更重要的是,你正在覆盖/usr/local/bin容器文件夹,该文件夹可能包含在入口点使用的可执行文件。 当这消失,你会得到一个错误。