From cf5233f0be0fb3ab5158d43570d6077461585789 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Mon, 3 Feb 2025 22:12:40 +0000 Subject: [PATCH] Include Docker Compose --- .../infrastructure/docker-compose-infra.yml | 29 +++++++++++++++++++ .../infrastructure/sql-server/Dockerfile | 26 ++++++++++------- 2 files changed, 44 insertions(+), 11 deletions(-) create mode 100644 ef-migration/infrastructure/docker-compose-infra.yml diff --git a/ef-migration/infrastructure/docker-compose-infra.yml b/ef-migration/infrastructure/docker-compose-infra.yml new file mode 100644 index 0000000..08d4307 --- /dev/null +++ b/ef-migration/infrastructure/docker-compose-infra.yml @@ -0,0 +1,29 @@ +version: '3.8' + +services: + sqlserver: + build: + context: . # Changed from ./sql-server to . to include the whole directory + dockerfile: sql-server/Dockerfile # Updated path to Dockerfile + container_name: sqlserver_lightweight + ports: + - "1433:1433" + environment: + - ACCEPT_EULA=Y + - MSSQL_PID=Express + - SA_PASSWORD=YourStrong@Passw0rd + volumes: + - sqlserver_data:/var/opt/mssql + deploy: + resources: + limits: + memory: 1G + cpus: '1.0' + reservations: + memory: 512M + cpus: '0.5' + restart: unless-stopped + +volumes: + sqlserver_data: + driver: local \ No newline at end of file diff --git a/ef-migration/infrastructure/sql-server/Dockerfile b/ef-migration/infrastructure/sql-server/Dockerfile index f87c7cf..31d84a7 100644 --- a/ef-migration/infrastructure/sql-server/Dockerfile +++ b/ef-migration/infrastructure/sql-server/Dockerfile @@ -9,18 +9,22 @@ ENV SA_PASSWORD=YourStrong@Passw0rd # Create a directory for database scripts WORKDIR /usr/src/app +# Create schemas directory +RUN mkdir -p /usr/src/app/schemas + # Copy the schema files -COPY dbo_schema_database_statements_small.sql ./schemas/ -COPY fp_schema_database_statements_small.sql ./schemas/ -COPY fw_schema_database_statements_small.sql ./schemas/ -COPY int_schema_database_statements_small.sql ./schemas/ -COPY ob_schema_database_statements_small.sql ./schemas/ +COPY sql-server/schemas/dbo_schema_database_statements_small.sql /usr/src/app/schemas/ +COPY sql-server/schemas/fp_schema_database_statements_small.sql /usr/src/app/schemas/ +COPY sql-server/schemas/fw_schema_database_statements_small.sql /usr/src/app/schemas/ +COPY sql-server/schemas/int_schema_database_statements_small.sql /usr/src/app/schemas/ +COPY sql-server/schemas/ob_schema_database_statements_small.sql /usr/src/app/schemas/ -# Create initialization script -COPY init.sql ./ +# Copy initialization script +COPY sql-server/init.sql /usr/src/app/ +COPY sql-server/setup.sh /usr/src/app/ -# Create setup script that will run the schema creation -COPY setup.sh ./ -RUN chmod +x setup.sh +# Fix line endings and make setup script executable +RUN sed -i 's/\r$//' /usr/src/app/setup.sh && \ + chmod +x /usr/src/app/setup.sh -CMD /bin/bash ./setup.sh \ No newline at end of file +CMD /bin/bash /usr/src/app/setup.sh \ No newline at end of file