Docker - 运行容器时执行bash

时间:2016-07-28 21:46:13

标签: bash docker docker-compose dockerfile

我有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}"

我在执行command.sh

时需要执行我的docker-compose up -d文件

但它没有那种方式。

  

错误:对于nginx无法链接到非正在运行的容器:   / php-fpm-symfony AS / nginx / php-fpm错误:遇到错误   提出这个项目。来自守护程序的错误响应:Container   7c2a9bffa9664c4007d685f56d17e4659c6dd7021962d6462177480f5a821d44是   没有跑

我该如何做到这一点?

1 个答案:

答案 0 :(得分:3)

当主要进程完成时,docker容器退出。

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

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