Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

Dockerイメージのビルドができません。failed to solve: archive/tar: unknown file mode ?rwxr-xr-x

Q&A

Closed

解決したいこと

Windowsで、NestJSプロジェクト用のDockerコンテナをつくっています。
イメージのビルド中にエラーが発生しました。
解決方法を教えて下さい。

NestJSプロジェクトを生成する前は、問題なくビルドできましたが、プロジェクト生成後にはエラーがでてビルドできません。

発生している問題・エラー

failed to solve: archive/tar: unknown file mode ?rwxr-xr-x

該当するソースコード

appのDockerfileです。

FROM node

WORKDIR /app

RUN apt-get update && \
    apt-get install -y locales curl
RUN locale-gen ja_JP.UTF-8
RUN localedef -f UTF-8 -i ja_JP ja_JP

ENV LANG=ja_JP.UTF-8
ENV TZ=Asia/Tokyo

COPY package*.json ./

RUN npm install

COPY . .

CMD ["npm", "run", "start:dev"]

自分で試したこと

  • Docker desktopをupdateしました。
  • Google検索しました。同じ問題に直面しているgithubのissueを見つけました。しかし、解決策はないようです。

  • dockerignoreファイルで、不要なファイルを避けています。

補足

compose.ymlファイルです。
参考です。

services:
  app:
    build:
      context: .
      dockerfile: ./docker/app/Dockerfile
    tty: true
    ports:
      - 3005:3005
      - 5555:5555
    volumes:
      - .:/app
      - /app/node_modules
    depends_on:
      - db
  db:
    build: 
      context: .
      dockerfile: ./docker/db/Dockerfile
    # restart: always
    ports:
      - 5432:5432
    volumes:
      - ./db/postgres/init.d:/docker-entrypoint-initdb.d
      - ./db/postgres/data:/var/lib/postgresql/data
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres
      POSTGRES_DB: postgres
      POSTGRES_INITDB_ARGS: "--encoding=UTF-8"
  web:
    build:
      context: .
      dockerfile: ./docker/web/Dockerfile
    tty: true
    ports:
      - 80:3000
    volumes:
      - ./web:/web
0

1Answer

いくつか解決・回避策が提案されているようですが、すべてダメでしたか?
https://github.com/docker/for-win/issues/14083#issuecomment-2128018553
https://github.com/docker/for-win/issues/14083#issuecomment-2134048035
https://github.com/docker/for-win/issues/14083#issuecomment-2135283995
https://github.com/docker/for-win/issues/14083#issuecomment-2141637213
https://github.com/docker/for-win/issues/14083#issuecomment-2146364656

dockerignoreファイルで、不要なファイルを避けています。

具体的に何を無視するようにしていますか?
もしnode_modulesをignoreしていないなら、追加して再ビルドしてみてください。

1Like

Comments

  1. @tomo114883

    Questioner

    ご回答ありがとうございます!

    wslで実行しなおしたところ、一応、同様のエラーは出ませんでした!
    ひとまずはwslで実装しようかと思います!

    ありがとうございます!

    ちなみに、dockerignoreファイルの中身です!

    node_modules
    .git
    tmp
    log
    .DS_Store
    *.tar
    *.zip
    *.log
    
  2. 解決したのあれば、本問をクローズしましょう。

Your answer might help someone💌