docker compose oci runtime error, executable file not found in $PATH

主宰稳场 提交于 2020-01-02 04:50:09

问题


I'm following this post:

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

This is what my docker-compose.yml looks like :

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

my start.sh is in the same directory as the yml file. When I run docker-compose up -d this is what I get :

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.

My docker-compose info:

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

回答1:


The command is executed inside the container- you are using a pulled fluentd container which does not have your start.sh file in it. You can either

A. bind mount it into the container

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

or B. build it into the image

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

#docker-compose.yml
  fluentd:
    build: .


来源:https://stackoverflow.com/questions/39665943/docker-compose-oci-runtime-error-executable-file-not-found-in-path

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!