2016-09-23 8 views
2

で見つかっていない実行ファイル私はこのポストを以下のよ:

http://eric-price.net/blog/centralized-logging-docker-aws-elasticsearch

これは私のドッキングウィンドウ-compose.ymlは、次のようになります。

version: "2" 

services: 

    fluentd: 
    image: fluent/fluentd:latest 
    ports: 
     - "24224:24224" 
    command: start.sh 
    networks: 
     - lognet 

    nginx: 
    image: nginx-pixel 
    ports: 
     - "80:80" 
    logging: 
     driver: fluentd 
    networks: 
     - lognet 

networks: 
    lognet: 
    driver: bridge 

私のstart.shは、ymlファイルと同じディレクトリにあります。私はdocker-compose up -dを実行すると、これは私が得るものです:

ERROR: for fluentd Cannot start service fluentd: oci runtime error: exec: "start.sh": executable file not found in $PATH ERROR: Encountered errors while bringing up the project.

マイドッキングウィンドウ-コン情報:

docker-compose version 1.8.0, build f3628c7 
docker-py version: 1.9.0 
CPython version: 2.7.9 
OpenSSL version: OpenSSL 1.0.1e 11 Feb 2013 

答えて

2

コマンドは、あなたにはありません引かfluentdの容器を使用している、コンテナ内で実行されますそこにあなたのstart.shファイルがあります。あなたはどちらか

A.バインドは、コンテナ

#docker-compose.yml 
    fluentd: 
    image: fluent/fluentd:latest 
    volumes: 
     - ./start.sh:/start.sh 
    command: /start.sh 

またはB.にそれをマウントすることができ、画像に

# Dockerfile 
FROM fluent/fluentd:latest 
COPY start.sh /start.sh 

#docker-compose.yml 
    fluentd: 
    build: . 
+0

おかげでそれを構築します。 'volume: - ./fluentd/etc:/ fluentd/etc' ' command:/ fluentd/etc/start.sh' –

+1

そのブログ記事を読んでから、それが始まりました。 shは良い習慣ではありません.Dockerfileにgem installを実行して、コンテナを実行するたびに再インストールする必要はありません。 –

関連する問題