Why can't I build and then run my container locally

6/4/2019

I have a multi stage Dockerfile

# Base Build
FROM alpine:3.7 AS base
RUN apk add --no-cache nodejs
WORKDIR /root/app
COPY . .

ARG TARGET_ENV
COPY .env.$TARGET_ENV .env
RUN rm .env.*

RUN npm set progress=false && npm config set depth 0
RUN npm install --only=production
RUN cp -R node_modules prod_node_modules
RUN npm install
RUN npm run build

# Prod Build
FROM base AS release
COPY --from=base /root/app/prod_node_modules ./node_modules
COPY --from=base /root/app/package.json .
COPY --from=base /root/app/package-lock.json .
COPY --from=base /root/app/dist .
CMD npm start
EXPOSE 3000

I'd like to build my container and then run it locally.

It builds just fine but when I run it a hash is output, but the container is not running.

enter image description here

docker build --build-arg TARGET_ENV=local -t express-app .

docker run -d -p 3000:3000 -it express-app
-- Tim J
containers
docker
kubernetes

1 Answer

6/4/2019

Your container could be crashing on start.

Check the output of $ docker run -p 3000:3000 -it express-app for error messages.

-- nodediggity
Source: StackOverflow