bash - Docker-运行容器时执行bash

标签 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文件

但这不是那样的。

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



我该如何工作?

最佳答案

一个Docker容器的主要过程完成后退出。

您的脚本肯定已经完成,并且没有启动任何php进程。尝试将通话添加到php-fpm

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

关于bash - Docker-运行容器时执行bash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38647262/

相关文章:

php - 在 docker php 容器中找不到 MySQLi

docker-compose 将镜像推送到 aws ecr

Mongodb Docker - 创建初始用户并设置初始结构

linux - 在共享主机上安装 git - ./configure : no such file or directory

bash - bash for 循环中的后台进程

python - 如何动态地将 Docker 容器的 IP 添加到 Django ALLOWED_HOSTS

node.js - ECS Fargate 任务在使用 Terraform 创建时无法通过健康检查

主机重启后未挂载 Docker 卷

linux - Shell 递归地重命名大量文件

linux - 如何将 if 语句放入 lftp block 中