(improvement)(build) Submit with docker-compose.yml version included. (#1295)

This commit is contained in:
lexluo09
2024-06-30 15:18:39 +08:00
committed by GitHub
parent dc63f4ef14
commit 5132b77953
2 changed files with 87 additions and 0 deletions

View File

@@ -7,6 +7,11 @@ WORKDIR /usr/src/app
# Argument to pass in the supersonic version at build time
ARG SUPERSONIC_VERSION
# Install necessary packages, including MySQL client
RUN apt-get update && \
apt-get install -y mysql-client unzip && \
rm -rf /var/lib/apt/lists/*
# Copy the supersonic standalone zip file into the container
COPY assembly/build/supersonic-standalone-${SUPERSONIC_VERSION}.zip .

82
docker/docker-compose.yml Normal file
View File

@@ -0,0 +1,82 @@
version: '3.8'
services:
mysql:
image: mysql:8.0
container_name: supersonic_mysql
environment:
MYSQL_ROOT_PASSWORD: root_password
MYSQL_DATABASE: ${DB_NAME}
MYSQL_USER: ${DB_USERNAME}
MYSQL_PASSWORD: ${DB_PASSWORD}
ports:
- "3306:3306"
volumes:
- mysql_data:/var/lib/mysql
networks:
- supersonic_network
dns:
- 8.8.8.8
- 8.8.4.4
db_init:
image: supersonic:0.9.2-SNAPSHOT
container_name: supersonic_db_init
depends_on:
- mysql
networks:
- supersonic_network
command: >
sh -c "
sleep 30 &&
if ! mysql -h mysql -u${DB_USERNAME} -p${DB_PASSWORD} -e 'use ${DB_NAME}; show tables;' | grep -q 's2_database'; then
mysql -h mysql -u${DB_USERNAME} -p${DB_PASSWORD} ${DB_NAME} < /usr/src/app/supersonic-standalone-0.9.2-SNAPSHOT/conf/schema-mysql.sql &&
mysql -h mysql -u${DB_USERNAME} -p${DB_PASSWORD} ${DB_NAME} < /usr/src/app/supersonic-standalone-0.9.2-SNAPSHOT/conf/data-mysql.sql
else
echo 'Database already initialized.'
fi
"
environment:
DB_NAME: supersonic_db
DB_USERNAME: supersonic_user
DB_PASSWORD: supersonic_password
dns:
- 8.8.8.8
- 8.8.4.4
chroma:
image: chromadb/chroma:latest
container_name: supersonic_chroma
ports:
- "8000:8000"
networks:
- supersonic_network
dns:
- 8.8.8.8
- 8.8.4.4
java_backend:
image: supersonic:0.9.2-SNAPSHOT
container_name: supersonic_java_backend
environment:
DB_NAME: supersonic_db
DB_USERNAME: supersonic_user
DB_PASSWORD: supersonic_password
ports:
- "9080:9080"
depends_on:
- mysql
- db_init
- chroma
networks:
- supersonic_network
dns:
- 8.8.8.8
- 8.8.4.4
volumes:
mysql_data:
networks:
supersonic_network: