Dockerfile Build Errors With React Static Site In App Platform

Problem I’m using App Platform to serve a React (using Create React App) static website. I’m using Docker in order to have predictable and abstracted builds (as well as other reasons)

But whenever I try to deploy it to DO’s App Platform I get build errors essentially saying that it can’t find the output directory. Such as ‘client | 19:44:34 ! /app/build does not exist within the built container’


name: project_name

  - name: client
    dockerfile_path: ./client/Dockerfile
      repo: valencian-digital/unique-expressions
      branch: master
    source_dir: client
    output_dir: /app/build


FROM node:14-alpine


ENV NODE_ENV=production

COPY . .

CMD ["npm", "run", "build"]

Question How can I get a Dockerfile to work property with App Platform static sites?

Submit an answer

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

To get this to work you should move the npm run build to be a RUN rather than CMD. The app platform build process will run all the steps that are part of a docker build. The CMD is set as a default start command for the container, but doesn’t get executed during the build process. The process to build a static site copies the files out of the built docker container image.