joplin-notes/joplin notion extension/Web Development/Extras/Docker/projects.md
2026-11-04 00:33:23 +05:30

2.5 KiB

projects

spring quiz app

  • location : /home/hpes/Videos/imp/java/spring/genz/quiz_back_docker-compose following will not work
  • to go to bash use this docker run --rm -it --name quiz-app quiz-app-docker:1.0 bash
  • run app (use -d for detach mode) docker run -p 8085:8080 --rm --name quiz-app quiz-app-docker:1.0
  • build docker build -t quiz-app:1.0 .
  • Dockerfile
FROM alpine:latest
RUN apk add --update bash openjdk17 maven mariadb mariadb-client
COPY . /spring-app
WORKDIR /spring-app
RUN mvn package
# Initialize MySQL database (this step will only run the first time)
RUN mysql_install_db --user=root --basedir=/usr --datadir=/var/lib/mysql
RUN mysqld_safe --user=root  & \
sleep 3 && \
mysql -e "create database quiz;" &&  \
mysql quiz < quiz.sql
EXPOSE 8080
RUN chmod +x entrypoint.sh
# Start the MySQL service and your backend
CMD sh /spring-app/entrypoint.sh

  docker compose method (1.3 gb) docker-compose.yml

version: '3.8'

services:
  mysql:
    image: mysql:latest  # You can use a different version if necessary
    environment:
      MYSQL_ROOT_PASSWORD: strong_password
    ports:
      - "3307:3306"  # Expose MySQL on port 3307
    volumes:
      - /var/lib/docker/volumes/mysql_app_data/_data:/var/lib/mysql  # Persist MySQL data

  spring-app:
    build: .
    environment:
      SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/quiz?allowMultiQueries=true
      SPRING_DATASOURCE_USERNAME: root
      SPRING_DATASOURCE_PASSWORD: strong_password
    ports:
      - "8085:8080"  # Expose Spring Boot app on port 8080
    depends_on:
      - mysql  # Ensure MySQL starts before Spring Boot app

Dockerfile for spring-app

FROM alpine:latest
RUN apk add --update bash openjdk17 maven
COPY . /spring-app
WORKDIR /spring-app
RUN mvn package
EXPOSE 8080


CMD java -jar target/demo-0.0.1-SNAPSHOT.jar

two commands docker-compose build and docker-compose up  

youtube playlist downloader

200 mb

  • location : /home/hpes/Videos/imp/nodejs/production/youtube downloader/
  • docker build -t ytdown:1.0 . DockerFile
FROM alpine
RUN apk add --update nodejs npm bash

# App 1
WORKDIR /src/puppetter_test
COPY puppetter_test/ ./
RUN npm install

# App 2
WORKDIR /src/ytDownloadSpace
COPY ytDownloadSpace ./
RUN npm install


# App 3
WORKDIR /src/ytdlApi
COPY ytdlApi/ ./
RUN npm install




RUN npm install -g pm2

#config file
WORKDIR /src/puppetter_test
EXPOSE 8081
CMD pm2 start ecosystem.config.js --no-daemon

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

  for vps setup.md