[英]Docker Node: Entrypoint can't be found
我有以下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
並通過以下 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
它無法找到您在消息中看到的入口點腳本:
data_map_dev_1 | /bin/sh: [/usr/local/bin/entrypoint.sh]: 未找到
你知道為什么嗎? 我的項目也有類似的問題。
您的 JSON 語法錯誤。
注意:exec 形式被解析為 JSON 數組,這意味着您必須在單詞周圍使用雙引號 (“) 而不是單引號 (')。
https://docs.docker.com/engine/reference/builder/
像這樣切換到雙引號:
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.