Docker - 当 运行 容器时执行 bash

Docker - Execute a bash when running a container

我有我的 docker-compose 文件的这一部分:

php-fpm:
    build: ./docker/php
    container_name: php-fpm-symfony
    links:
        - db
    ports:
        - 9000:9000
        - 8448:8448
        - 8000:8000
    working_dir: /var/www/html/
    volumes:
        - .:/var/www/html
    volumes_from:
        - data
    tty: true
    env_file:
        - ./docker.env
    entrypoint: /command.sh

这是我的 Dockerfile:

FROM php:7.0.8-fpm
ADD command.sh /command.sh
RUN chmod 777 /command.sh
ENTRYPOINT ["/command.sh"]

我的 command.sh 在根部

#!/usr/bin/env bash
git config --global user.email "${gitEmail}"
git config --global user.name "${gitName}"

我需要在执行 docker-compose up -d

时执行我的 command.sh 文件

但不是那样的。

ERROR: for nginx Cannot link to a non running container: /php-fpm-symfony AS /nginx/php-fpm ERROR: Encountered errors while bringing up the project. Error response from daemon: Container 7c2a9bffa9664c4007d685f56d17e4659c6dd7021962d6462177480f5a821d44 is not running

我怎样才能完成这项工作?

A docker 容器在其主进程完成时退出。

您的脚本肯定正在完成并且没有启动 php 进程。尝试添加对 php-fpm

的调用
#!/usr/bin/env bash
git config --global user.email "${gitEmail}"
git config --global user.name "${gitName}"
php-fpm