【问题标题】:Docker - Execute a bash when running a containerDocker - 运行容器时执行 bash
【发布时间】:2016-07-28 21:46:12
【问题描述】:

我的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.shfile

但它不是那样工作的。

错误:对于 nginx 无法链接到未运行的容器: /php-fpm-symfony AS /nginx/php-fpm 错误:遇到错误同时 提出项目。来自守护进程的错误响应:容器 7c2a9bffa9664c4007d685f56d17e4659c6dd7021962d6462177480f5a821d44 是 没有运行

我怎样才能做到这一点?

【问题讨论】:

  • 能分享一下command.sh的内容吗,好像确实调用了脚本,但是马上就结束了
  • @cml.co 我刚刚做到了...

标签: bash docker docker-compose dockerfile


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2021-09-16
    • 1970-01-01
    • 2017-12-03
    • 2019-08-07
    • 2023-03-31
    • 1970-01-01
    • 2017-02-21
    • 1970-01-01
    • 2018-09-14
    相关资源
    最近更新 更多