docker – 未找到或不存在容器命令’/start.sh’,容器的入口点是shell脚本

前端之家收集整理的这篇文章主要介绍了docker – 未找到或不存在容器命令’/start.sh’,容器的入口点是shell脚本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

项目内容

  1. rob@work:~/git/proj $ls
  2. lib node_modules props.json start.sh
  3. app.js Dockerfile package.json README.md

start.sh ..

  1. rob@work:~/git/proj $cat start.sh
  2. #/bin/bash
  3. # do things
  4. /some/other/stuff
  5. echo "Starting app .."
  6. node app.js

Dockerfile ..

  1. FROM somewhere.com/dependencyProj
  2. RUN mkdir -p /usr/src/app
  3. WORKDIR /usr/src/app
  4. COPY . /usr/src/app
  5. COPY props.json /etc/someService.d/props.json
  6. EXPOSE 4101
  7. ENTRYPOINT ["/start.sh"]

构建泊坞窗图像:

  1. rob@work:~/git/proj $docker build -t dx/proj:0.0.1 .
  2. Sending build context to Docker daemon 59.99 MB
  3. Step 1 : FROM somewhere.com/dependencyProj
  4. latest: Pulling from dependencyProj
  5. 420890c9e918: Already exists
  6. 8ff1af46fe3d: Already exists
  7. 6db3a1c6f4ca: Already exists
  8. d82a90c4ea1b: Already exists
  9. f32685681727: Already exists
  10. 797dfb291196: Already exists
  11. 3a713b0b523e: Already exists
  12. a9c617bff63b: Already exists
  13. 9ab84732ac6e: Already exists
  14. 2a85e0afdd4d: Already exists
  15. a56b24146ce4: Already exists
  16. 0a91b00da1f7: Already exists
  17. 836b0e7c1105: Already exists
  18. Digest: sha256:36b7a32bd12b85cbb2fb3203d43807c9b8735d6ceb50d813b76bfe2e5c3ebeb4
  19. Status: Downloaded newer image for somewhere.com/dependencyProj:latest
  20. ---> 7c52bbbc3feb
  21. Step 2 : RUN mkdir -p /usr/src/app
  22. ---> Running in aab7cf1f7974
  23. ---> 250317f63adf
  24. Removing intermediate container aab7cf1f7974
  25. Step 3 : WORKDIR /usr/src/app
  26. ---> Running in f60088532610
  27. ---> 60f3d9fe88c4
  28. Removing intermediate container f60088532610
  29. Step 4 : COPY . /usr/src/app
  30. ---> 004e0a440fb5
  31. Removing intermediate container f247d134d88b
  32. Step 5 : COPY props.json /etc/someService.d/props.json
  33. ---> 03b48249c94c
  34. Removing intermediate container a3636849765d
  35. Step 6 : EXPOSE 4101
  36. ---> Running in 0056e5c20264
  37. ---> 867765176927
  38. Removing intermediate container 0056e5c20264
  39. Step 7 : ENTRYPOINT /start.sh
  40. ---> Running in 80ae316b0629
  41. ---> d1e65def77ce
  42. Removing intermediate container 80ae316b0629
  43. Successfully built d1e65def77ce

运行docker image:

  1. rob@work:~/git/proj $docker run -d dx/proj:0.0.1
  2. 0fd1f8087cc5be3e085454cf99b7a3795b9ce15909b0f416ae39380f93feaa44
  3. docker: Error response from daemon: Container command '/start.sh' not found or does not exist..
最佳答案
你有一些问题:

>您必须使用./start.sh从当前目录运行start.sh文件. /start.sh在root /中运行start.sh,它不存在.
>你的start.sh脚本中的shebang行是错误的,它必须是#!/ bin / bash.
>您还必须通过运行chmod x start.sh为start.sh设置可执行权限.

猜你在找的Docker相关文章