当前位置: 首页 > 知识库问答 >
问题:

如何处理docker-compose中的Exec格式错误

魏臻
2023-03-14

我尝试通过Docker构建服务器和数据库

下面是我的docker-compose.yml

version: '3'

services:
  api-server:
    build: ./api
    links:
      - 'db'
    ports:
      - '3000:3000'
    volumes:
      - ./api:/src
      - ./src/node_modules
    tty: true
    container_name: api-server

  db:
    build:
      context: .
      dockerfile: ./db/Dockerfile
    restart: always
    hostname: db
    environment:
      MYSQL_ROOT_PASSWORD: test
      MYSQL_USER: root
      MYSQL_PASSWORD: test
      MYSQL_DATABASE: db
    volumes:
      - './db:/config'
    ports:
      - 3306:3306
    container_name: db

FROM node:alpine

WORKDIR /src
COPY . .

RUN rm -rf /src/node_modules
RUN rm -rf /src/package-lock.json

RUN yarn install

CMD yarn start:dev

如果有人有意见,请告诉我。

谢谢

共有1个答案

连志义
2023-03-14

对于像我这样寻找解决方案的每个人来说,我的解决方案是添加一个.dockerignore文件,其内容如下:

.dockerignore
node_modules

我的Dockerfile如下所示:

FROM node:14-alpine as development
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build

添加.dockerignore-文件可以防止复制。.-命令复制node_modules-文件夹,并修复了bcrypt未加载的问题。

 类似资料:
  • 问题内容: 我正在使用自定义脚本运行Flask应用程序。还是尝试,无论如何。 我在Windows 10上,应使用以下命令在Linux Docker容器中运行应用程序: Docker-compose是。在dockerfile中,服务通过以下命令运行: 在尝试启动时,我看到了异常 我最初以为这将是“可怕的Windows Line Ends”,再次给我,但是dos2unix在我的所有源文件上运行都无法解

  • 问题内容: 我正在使用自定义脚本运行Flask应用程序。还是尝试,无论如何。 我在Windows 10上,应用程序应在Linux Docker容器中使用以下命令运行: Docker-compose是。在dockerfile中,该服务通过以下命令运行: 在尝试启动时,我看到了异常 我最初以为这将是“可怕的Windows行尾”,再次给我,但是在我的所有源文件上运行都无法解决问题。 如何避免此错误? m

  • 我正在学习quarkus入门教程,能够生成可执行文件并运行它,但无法运行docker映像。 步骤: > ./mvnw 软件包 -Pnative (它工作) docker build-f src/main/docker/Dockerfile.native-t quokus/get-start.( 泊坞窗运行 -i --rm -p 8080:8080 Quarkus/入门,得到此错误: standar

  • 这个问题与这个问题相关:Docker-如何在postgres容器中运行psql命令? 但是上面提供的解决方案只在手动执行任务时有效,而这里的用户希望使用docker-compose自动执行任务。 因为在执行运行时,postgresql服务器还没有启动! 有没有办法克服这个限制?

  • 所以我想开始使用Jenkins构建我的应用程序,然后测试它,并将我的图像推送到本地repo。因为我有两张图片要推送,我想使用docker compose,但docker compose缺失。 我通过Portainer安装了Jenkins,我使用的是jenkins/jenkins: lts映像。 有没有一种方法可以将docker compose安装到容器中,而不必为其创建自己的docker文件? 到

  • 问题内容: 我想在Windows系统上部署我的应用程序。我最近(昨天)安装在Windows 10上。这为我提供了一个新终端。当我尝试使用部署我的项目时,我收到以下消息: 该服务包含 另一个错误是: 。我的项目有4个容器,而其他2个没有错误消息。 这是我的docker-compose.yml文件: 我应该怎么做才能使它起作用?您能帮忙解决这个问题吗? 我的docker版本是: 我的docker- c