I need some suggestions as I am new in Docker World and this is my first post in this forum. I am trying to develop an image with the combination of 5-6 software and tools and I have already successfully build it. It combines something like following
- A Database (Postgresql)
- A Node Server
- An API server
- A Go Server
- Others are the data processor tool
The image will run through a few Arguments such as process
, start
, stop
, backup
, restore
and update
commands. Here is the utilization of those commands separately
process
- When the image will run with process
command few data will be automatically processed from different online file sources and will be saved on a database and a few others will be save as a file on disk.
start
- This will start all servers along with postgres DB
stop
- This will stop all servers along with postgres DB
backup
- All database tables and processed files will be back up to a local directory
restore
- Search for backup data in a given location and restore all the data then start the servers with those data
update
- Delete the existing data and process data again
I need suggestions on the following topics:
- After processing data the data will not be removed if the container is even closed. How can I do that?
- I have already written the backup code. But I want to make the backup in a local directory, How?
- Is it a good practice to merge 5-6 or more tools together in a container or should I use docker-compose?
- Is the Argument/Command (
process
,start
,stop
,backup
,restore
andupdate
) architecture a good practice? if not what will be the best concept?
Thanks in Advance…