90634


## 目的

Docker環境でfrontend直下に create-react-app .でアプリを作成したいです。

_ディレクトリ構成_

[code]

    backend
    frontend
     - Dockerfile
    
[/code]

_Dockerfile_

[code]

    FROM node:18.7.0-alpine3.16
    WORKDIR /frontend
    RUN npm i -g create-react-app
    
[/code]

_docker-compose.yml_

[code]

    frontend:
     build: ./frontend/
      volumes:
        - ./frontend:/frontend
      command: sh -c "npm start"
      ports:
         - "3000:3000"
    
[/code]

_説明_  
上記の状態で  
`docker compose run -rm frontend npx create-react-app .`  
とすると、 .には Dockerfileが存在するため 名前をつけてくださいというエラーが表示されます

`docker compose run -rm frontend npx create-react-app react-app`  
とすると正常に作成できるのですが、それだと`frontend`ディレクトリの下に別なディレクトリが作成されます

`frontend`ディレクトリ配下に直接reactのソースとDockerfileを共存させたいのですが、どのような変更をすれば良いのかわからず困っています。

解決策をご存知の方がいらっしゃいましたら教えていただきたいです。


CC BY-SA 4.0
2022-08-19T03:43:00.970
90628
2022-08-19T09:26:59.180
51745
question
docker reactjs
Docker npx create-react-app .ができない


`Dockerfile` を一時退避すれば良いのでは。

[code]

    docker-compose run --rm frontend ash -c 'mv -fv Dockerfile /tmp/; npx create-react-app .; mv -fv /tmp/Dockerfile .'
    
[/code]


CC BY-SA 4.0
2022-08-19T09:26:59.180
90634
2022-08-19T09:26:59.180
2808
90628
answer