Docker节点:无法find入口点

我有以下Dockerfile_dev泊坞窗文件:

 FROM node:alpine MAINTAINER "Desyllas Dimitrios" ENV NEO4J_HOST="" ENV NEO4J_USER="" ENV NEO4J_PASSWORD="" ENV MONGO_CONNECTION_STRING="" ENV LOGS_DIR="/var/log/data_map" COPY ./docker_scripts/entrypoint_dev.sh /usr/local/bin/entrypoint.sh RUN chmod +x /usr/local/bin/entrypoint.sh &&\ chown root:root /usr/local/bin/entrypoint.sh &&\ mkdir -p /opt/map &&\ mkdir -p /var/log/data_map &&\ chmod 0666 /var/log/data_map EXPOSE 7474 VOLUME /var/log/data_map VOLUME /opt/map WORKDIR /opt/map ENTRYPOINT ['/usr/local/bin/entrypoint.sh'] 

我有以下的入口点:

 #!/bin/sh cd /opt/map npm install npm start 

构build图像通过以下docker-compose启动

 version: '2' services: data_map_dev: build: context: . dockerfile: Dockerfile_dev image: 'pcmagas/data-map:dev' links: - 'neo4j_dev' - 'mongodb' volumes: - './src:/opt/map/src' - './www:/opt/map/www' - './package.json:/opt/map/package.json' - './docker-volumes/app_dev:/var/log/datamap' ports: - "9781:9780" environment: NEO4J_HOST: 'neo4j_dev' NEO4J_USER: 'neo4j' NEO4J_PASSWORD: 'neo4j' MONGO_CONNECTION_STRING: 'mongodb://mongodb:map_dev' neo4j_dev: image: 'neo4j' ports: - '7474:7474' volumes: - './docker-volumes/neo4j_dev/data:/data' environment: NEO4J_AUTH: 'neo4j/neo45j' mongodb: image: 'mongo' ports: - '27017:27017' volumes: - './docker-volumes/mongodb/:/data/db' 

我使用docker-compose build --no-cache --force-rm ,当我通过docker-compose up启动它时docker-compose up它无法find正如您在消息中看到的入口点脚本:

data_map_dev_1 | / bin / sh:[/usr/local/bin/entrypoint.sh]:找不到

你知道为什么吗? 我的项目也有类似的问题。

你的JSON语法是错误的。

注意:exec表单被parsing为JSON数组,这意味着您必须在单词(而非单引号('))周围使用双引号(“)。

https://docs.docker.com/engine/reference/builder/

切换到这样的双引号:

 ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]