【问题标题】:standard_init_linux.go:219: exec user process caused: no such file or directory - docker problemstandard_init_linux.go:219: exec 用户进程导致:没有这样的文件或目录 - docker 问题
【发布时间】:2021-05-16 07:18:28
【问题描述】:

我的 docker 有问题,在运行命令时,docker-compose up -d --build 3 容器 app, database, api 是在应用程序innovation 中创建的,但是当访问 api 容器中的 docker 终端时,我得到这个错误``这是我的 docker-compose.yaml:

version: "3"

services:
  api:
    build: ./api
    entrypoint: ./.docker/entrypoint.sh
    container_name: quimiweb-innovation-api
    env_file: .env
    environment:
      DATABASE_CLIENT: ${DATABASE_CLIENT}
      DATABASE_NAME: ${DATABASE_NAME}
      DATABASE_HOST: ${DATABASE_HOST}
      DATABASE_PORT: ${DATABASE_PORT}
      DATABASE_USERNAME: ${DATABASE_USERNAME}
      DATABASE_PASSWORD: ${DATABASE_PASSWORD}
      FRONTEND_URL: ${FRONTEND_URL}
    ports:
      - "1337:1337"
    volumes:
      - ./api/:/home/node/api
    networks:
      - app-network

  database:
    image: mongo
    container_name: quimiweb-innovation-database
    env_file: .env
    environment:
      MONGO_INITDB_ROOT_USERNAME: ${MONGO_INITDB_ROOT_USERNAME}
      MONGO_INITDB_ROOT_PASSWORD: ${MONGO_INITDB_ROOT_PASSWORD}
    networks:
      - app-network
    volumes:
      - .database/:/data/db
    ports:
      - "27017:27017"

  app:
    build: ./app/
    entrypoint: ./.docker/entrypoint.sh
    container_name: quimiweb-innovation-app
    env_file: .env
    environment:
      SKIP_PREFLIGHT_CHECK: ${SKIP_PREFLIGHT_CHECK}
    ports: 
      - 3001:3001
    volumes:
      - ./app/:/home/node/app       

networks:
  app-network:
    driver: bridge

volumes:
  app-volume:

来自 api 的我的 entrypoint.sh:

#!/bin/bash

yarn
yarn develop

【问题讨论】:

  • 请分享您的entrypoint.sh
  • #!/bin/bash 纱线纱线开发

标签: node.js reactjs docker


【解决方案1】:

就我而言,我通过将 entrypoint.sh 文件的行尾从 CRLF 更改为 LF 来解决此问题

编辑

在右侧底部面板上的 Notepad++ 中,右键单击区域 Windows (CR LF) 并选择 UNIX (LF) 这应该将所有 CRLFs 替换为 LFs

【讨论】:

  • 我该怎么做?
  • 在 Notepad++ 的右侧底部面板中,右键单击区域 Windows (CR LF) 并选择 UNIX (LF) 这应该将所有 CRLF 替换为 LF,谢谢
【解决方案2】:

启动基于64-bit x86 代理但运行在64-bit Arm 容器主机上的映像时,也可能出现此错误。

【讨论】:

    【解决方案3】:

    对我来说,行尾已经是 LF,我删除了所有图像并重建了它们,但在构建之前,我发现我错过了 shebang -

    #!/bin/bash

    我刚刚添加并重建了容器并发现它可以正常工作。

    【讨论】:

      【解决方案4】:

      同样的问题,通过改变行尾解决了它。还必须在更改生效之前重建映像。

      【讨论】:

        猜你喜欢
        • 2020-10-25
        • 2019-01-01
        • 2019-09-19
        • 2021-10-23
        • 1970-01-01
        • 1970-01-01
        • 2018-12-07
        • 2020-08-03
        • 2018-10-31
        相关资源
        最近更新 更多