pascal_dao
pascal_dao

Reputation: 61

Can not connect to node app running in Docker container from browser

I am running a nodejs application in a Docker container. The application is hosted on a bluehost centOS VPS to which I connect using SSH. I use the following command to run the app in the container: sudo docker run -p 80:8080 -d skepticalbonobo/dandakou-nodeapp. Then I check that the container is running using sudo docker ps and sure enough it is. But when I try to access the app from Chrome using the domain name or IP address I get: "This site can’t be reached". I have noticed however that in the output of sudo docker ps, under COMMAND I get docker-entrypoint... as opposed to node app.js and I do not know how to fix it.You can pull the container using docker pull skepticalbonobo/dandakou-nodeapp. Here is the content of my Dockerfile:

RUN mkdir -p /home/node/app/node_modules && chown -R node:node /home/node/app

WORKDIR /home/node/app

COPY package*.json ./

USER node

RUN npm install

COPY . .

USER root

RUN chown -R node:node . .

EXPOSE 8080

CMD [ "node", "app.js" ]

Thank you!

Upvotes: 1

Views: 1237

Answers (1)

Ashwani
Ashwani

Reputation: 1480

The default for Nodejs app is 3000. Run following command and check on which port node app is running

sudo docker run -ti skepticalbonobo/dandakou-nodeapp /bin/sh

Expose in Dockerfile is just for documentation purpose.

Upvotes: 1

Related Questions