DEV Community

Subham Nandi
Subham Nandi

Posted on • Edited on

1

40 Days Of Kubernetes (2/40)

Day 2/40

How to Dockerize a Project

GitHub link - https://github.com/SUBHAM-NANDI/40DaysKubernetes/tree/main/Day%202

Install Docker Desktop

To get started with Docker on your local machine, download the Docker Desktop client:

Getting Started with Docker

  1. Clone a Sample Repository: You can either use your own project or clone a sample repository using the following command:
   git clone https://github.com/docker/getting-started-app.git
Enter fullscreen mode Exit fullscreen mode
  1. Navigate to the Project Directory: Change your working directory to the project folder:
   cd getting-started-app/
Enter fullscreen mode Exit fullscreen mode
  1. Create a Dockerfile: Inside the project directory, create a new file named Dockerfile:
   touch Dockerfile
Enter fullscreen mode Exit fullscreen mode
  1. Add Dockerfile Content: Open the Dockerfile in your preferred text editor and paste the following content:
   FROM node:18-alpine
   WORKDIR /app
   COPY . .
   RUN yarn install --production
   CMD ["node", "src/index.js"]
   EXPOSE 3000
Enter fullscreen mode Exit fullscreen mode

This Dockerfile sets up a Node.js environment, installs dependencies, and specifies how to run the application.

  1. Build the Docker Image: Build the Docker image from the Dockerfile using the following command:
   docker build -t day02-todo .
Enter fullscreen mode Exit fullscreen mode
  1. Verify the Docker Image: After building, check that the image was created and stored locally:
   docker images
Enter fullscreen mode Exit fullscreen mode

Pushing the Docker Image to Docker Hub

  1. Log In to Docker Hub: Authenticate with Docker Hub to push your image:
   docker login
Enter fullscreen mode Exit fullscreen mode
  1. Tag the Image: Tag your image to prepare it for pushing to a remote repository:
   docker tag day02-todo:latest username/new-reponame:tagname
Enter fullscreen mode Exit fullscreen mode
  1. Push the Image: Push the tagged image to Docker Hub:
   docker push username/new-reponame:tagname
Enter fullscreen mode Exit fullscreen mode

Pulling and Running the Docker Image

  1. Pull the Image in Another Environment: If you need to pull the image to a different environment, use:
   docker pull username/new-reponame:tagname
Enter fullscreen mode Exit fullscreen mode
  1. Run the Docker Container: Start the container and map the application to port 3000:
   docker run -dp 3000:3000 --name docker-container-name username/new-reponame:tagname
Enter fullscreen mode Exit fullscreen mode

After this, your app should be accessible at http://localhost:3000.

Additional Docker Commands

  • Access the Container Shell: To enter the running container, use:
  docker exec -it containername sh
Enter fullscreen mode Exit fullscreen mode

or

  docker exec -it containerid sh
Enter fullscreen mode Exit fullscreen mode
  • View Container Logs: To check the logs from your container:
  docker logs containername
Enter fullscreen mode Exit fullscreen mode

or

  docker logs containerid
Enter fullscreen mode Exit fullscreen mode

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read more

Top comments (0)

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up