Skip to content

Instantly share code, notes, and snippets.

@tareq3
Last active April 6, 2020 19:00
Show Gist options
  • Save tareq3/df9a28232be0e0bc216dade9708b2061 to your computer and use it in GitHub Desktop.
Save tareq3/df9a28232be0e0bc216dade9708b2061 to your computer and use it in GitHub Desktop.

How to create Docker custom Container

1.Create a Dockerfile in your project

one exmpaple:

FROM node:12.16.1

WORKDIR /usr/src/app

COPY package*.json ./

RUN npm install

COPY . .

EXPOSE 3000

CMD ["npm", "start"]

Build a docker conatiner from that file

// Here -t for title of the container and '.' in last is for path of Dockerfile 
docker build -t node-docker-test .

Docker Compose

a sample docker-compose.yml

version: '3'
services:
  app:
    container_name: docker-node-mysql
    restart: always
    build: .
    expose:
      - '4000'
    ports:
      - '4000:4000'
    links:
      - mysql1
  mysql1:
    container_name: mysql1
    image: mysql:5.6
    restart: always
    environment:
      MYSQL_DATABASE: post_db
      MYSQL_USER: tareq
      MYSQL_PASSWORD: 123456
      MYSQL_ROOT_PASSWORD: 123456
    expose:
      - '3306'
    ports:
      - '3306:3306'

Run a Docker-Compose

docker-compose up

Run docker compose in background or headless

docker-compose up -d

Stop docker compose conatiners

docker-compose down

very imp: If you change any code after calling docker-compose up

please don't forget to rebuild docker containers

docker-compose build

For any issue due to container cache run

$ docker-compose build --no-cache
$ docker-compose up --force-recreate
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment