|
|
4 years ago | |
|---|---|---|
| AACT_downloader | 4 years ago | |
| Parser | 4 years ago | |
| assorted | 4 years ago | |
| classifications | 4 years ago | |
| downloader | 4 years ago | |
| .gitignore | 4 years ago | |
| README.md | 4 years ago | |
README.md
ClinicalTrialsDataProcessing
This is used to build tools which process and standardize the data.
More data later.
proposed architecture:
AACT Dockerfile #when built on its own, allows for the creation of the AACT database.
- Should create appropriate users.
ClinicalTrialHistory Dockerfile #inherits from AACT (multistage builds?) and adds initialization steps to the database.
- adds schemas, tables, and views for both http requests and parsed history tables.
- adds connection roles
- adds connection users
ClinicalTrialDataProcessing docker-compose.yaml #deploys a ClinicalTrialHistory container, pgadmin4, and eventually the downloading program/environment.
Background on Docker
Docker uses the following flow
- configuration using
docker-compose.yamlor aDockerfile docker build .to generate an imagedocker run xxxxxxto take the image and create a container.- when the container is created, it starts, running commands as configured in the dockerfile.
- Consequently, the AACT database image when run must initialize the postgres db, then run the initalization details.
- Here is where bind mounts come into play.
Multistage builds
https://docs.docker.com/develop/develop-images/multistage-build/
Basically
Dockerfile vs docker-compose.yaml
A Dockerfile is used to create images.
A docker-compose.yaml is used to automate the deployment of containers.
Types of storage
COPY/ADD (Dockerfile)
In a dockerfile, this adds a file permanently to the image.
This adds files one way to or from the container when initialized.
Volumes (docker-compose.yaml && Dockerfile)
Useable in both docker-compose and Dockerfile's, this creates a permanent storage. It can be maintained by docker or stored in a particular location.
Good for longer term storage such as databases.
Bind mounts (docker-compose.yaml)
Bind mounts are used to make a host filesystem resource available