Docker almost works

This commit is contained in:
ADAMJR 2021-12-02 19:35:08 +00:00
parent 0eec979a4c
commit 9f8596e7e8
12 changed files with 77 additions and 15 deletions

View File

@ -4,9 +4,8 @@ RUN addgroup app && adduser -SG app app
WORKDIR /app
COPY --chown=app:app package*.json ./
RUN npm i
COPY . .
RUN unlink /app/src/types
COPY --chown=app:app --from=accord_types:latest /app /app/src/types
COPY . .
EXPOSE 3000
# USER app

1
backend/react-app-env.d.ts vendored Normal file
View File

@ -0,0 +1 @@
/// <reference types="react-scripts" />

View File

@ -1 +0,0 @@
../../types

View File

@ -1,22 +1,26 @@
version: '3.8'
services:
database:
image: mongo:4.4-focal
image: mongo:4.4-bionic
ports: [27018:27017]
volumes: [accord:/data/db]
types:
build: ./types
backend:
depends_on: [database]
depends_on: [types, database]
build: ./backend
ports: [3000:3000]
env_file: [./backend/.env]
volumes: [./backend:/app]
volumes:
- ./backend/assets:/app/assets
- ./backend/logs:/app/logs
frontend:
depends_on: [database]
depends_on: [types, database]
build: ./frontend
ports: [4200:4200]
env_file: [./frontend/env/.env.dev]
volumes: [./frontend:/app]
volumes:
- ./frontend:/app
- /app/src/types
volumes:
accord:

View File

@ -3,7 +3,7 @@ services:
database:
image: mongo:4.4-focal
ports: [27017:27017]
volumes: [accord:/data/db]
volumes: [/var/lib/mongodb:/data/db]
types:
build: ./types
backend:
@ -12,6 +12,4 @@ services:
ports: [3000:3000]
env_file: [./backend/.env]
volumes: [./backend:/app]
entrypoint: npm run start:prod
volumes:
accord:
entrypoint: npm run start:prod

10
docker/build.sh Normal file
View File

@ -0,0 +1,10 @@
#!/bin/sh
sudo docker pull mongo:4.4-bionic
sudo docker tag mongo:4.4-bionic accord_database
(cd types; sudo docker build -t accord_types:latest .)
(cd backend; sudo docker build -t accord_backend:latest .)
(cd frontend; sudo docker build -t accord_frontend:latest .)
sudo docker volume create accord 2>> /dev/null
sudo docker network create accord 2>> /dev/null

4
docker/prune.sh Normal file
View File

@ -0,0 +1,4 @@
yes | docker container prune
yes | docker image prune
yes | docker network prune
yes | docker volume prune

5
docker/purge.sh Normal file
View File

@ -0,0 +1,5 @@
#!/bin/sh
docker container rm -f $(docker ps -aq) 2> /dev/null
docker image rm -f $(docker image ls -q) 2> /dev/null
docker volume rm -f $(docker volume ls -q) 2> /dev/null
docker network rm $(docker network ls -q) 2> /dev/null

8
docker/rm.sh Normal file
View File

@ -0,0 +1,8 @@
docker container rm -f accord_database
docker container rm -f accord_backend
docker container rm -f accord_frontend
docker image rm -f accord_database
docker image rm -f accord_types
docker image rm -f accord_backend
docker image rm -f accord_frontend

27
docker/run.sh Normal file
View File

@ -0,0 +1,27 @@
#!/bin/sh
docker container rm -f accord_database
docker container rm -f accord_backend
docker container rm -f accord_frontend
sudo docker run \
--name accord_database \
--hostname accord_database \
-p 27018:27017 \
-v accord:/data/db \
-d accord_database:latest;
sudo docker run \
--name accord_backend \
--hostname accord_backend \
--env-file ./backend/.env \
-p 3000:3000 \
-u root \
-d accord_backend:latest;
sudo docker run \
--name accord_frontend \
--hostname accord_frontend \
--env-file ./frontend/env/.env.dev \
-p 4200:4200 \
-u root \
-d accord_frontend:latest;

6
echo Normal file
View File

@ -0,0 +1,6 @@
Error: No such container: No containers to delete
Error response from daemon: invalid reference format: repository name must be lowercase
Error: No such container: No containers to delete
Error response from daemon: invalid reference format: repository name must be lowercase
Error: No such container: No containers to delete
Error response from daemon: invalid reference format: repository name must be lowercase

View File

@ -1,12 +1,13 @@
{
"scripts": {
"dc:run": "sudo docker-compose -f docker-compose.dev.yml run database --service-ports",
"dc:up": "sudo docker-compose -f docker-compose.dev.yml up -d",
"dc:up": "sudo docker-compose -f docker-compose.dev.yml up -d --build",
"dc:down": "sudo docker-compose -f docker-compose.dev.yml down",
"dc:ps": "sudo docker-compose -f docker-compose.dev.yml ps",
"dc:build": "sudo docker-compose -f docker-compose.prod.yml build",
"dc:logs": "sudo docker-compose -f docker-compose.dev.yml logs -t",
"dc:logs:b": "npm run dc:logs | grep backend",
"dc:logs:f": "npm run dc:logs | grep frontend"
"dc:logs:db": "sudo npm run dc:logs | grep database",
"dc:logs:b": "sudo npm run dc:logs | grep backend",
"dc:logs:f": "sudo npm run dc:logs | grep frontend"
}
}