env-docker/README.md

45 lines
1.7 KiB
Markdown
Raw Normal View History

2022-08-06 07:52:11 -05:00
# My Docker Setup
2022-09-27 03:44:33 -05:00
Scripting my way into the Docker world.
2023-07-04 09:12:47 -07:00
Was unable to find a good tutorial on using and managing containers so this is what made sense to me based on practice with `docker-compose`.
I am still new to Docker and am likely to make mistakes, but you're welcome to learn with me. ;)
2022-09-27 03:44:33 -05:00
## Disclaimer
Currently the project only focuses on `apt` based operating systems.
2022-08-06 07:52:11 -05:00
## How To Use
2022-09-27 03:44:33 -05:00
`apt install git bash`
2023-07-04 09:12:47 -07:00
2022-08-06 07:52:11 -05:00
`git clone https://github.com/hyperling/docker /opt/Docker`
2023-07-04 09:12:47 -07:00
2022-09-27 03:44:33 -05:00
`source /opt/Docker/source.env`
2023-07-04 09:12:47 -07:00
2022-09-27 03:44:33 -05:00
`install.sh`
2023-07-04 09:12:47 -07:00
2022-09-27 03:44:33 -05:00
`create.sh PROJECT_NAME`
2023-07-04 09:12:47 -07:00
2022-09-27 03:44:33 -05:00
`vi /opt/Docker/Config/PROJECT_NAME/docker-compose.yml`
2023-07-04 09:12:47 -07:00
2022-09-27 03:44:33 -05:00
`start.sh`
2023-07-04 09:12:47 -07:00
2022-09-27 03:44:33 -05:00
Cross your fingers and hope to profit.
2022-08-06 07:52:11 -05:00
2022-08-06 08:18:06 -05:00
## Folders
### Config
2022-09-27 03:44:33 -05:00
Compose projects are set up here. Each folder should have a `docker-compose.yml` file set up.
2022-08-06 07:52:11 -05:00
2022-08-06 08:18:06 -05:00
### Volumes
2022-08-06 07:52:11 -05:00
The data of the files go here if the Config is done correctly.
2022-09-27 03:44:33 -05:00
I think this should be easier to remember than `/var/lib/docker/volumes` when it comes time for migrations.
Hopefully all that's needed is to rsync `/opt/Docker` and run start.sh on the new server.
That's my opinion though, if someone else uses this then they can use `/var/`.
2022-08-06 08:18:06 -05:00
### bin
Scripts to help make life easier. Some are pretty basic, but others do nice things like handle the container IDs.
2022-09-27 03:44:33 -05:00
* `install.sh` : Install dependencies on a new server with apt.
* `create.sh` : Create a new folder with the needed yml file.
* `start.sh` : Start all compose containers.
* `stop.sh` : Stop all compose containers.
* `get_logs.sh` : Create log files rather than using the `docker log` command or searching in /var/whatever.
* `uninstall.sh` : If something goes wrong and you'd like to start from scratch without provisioning a new server then this should do the job.