diff --git a/.run/remote docker debug.run.xml b/.run/debug remote docker container.run.xml similarity index 51% rename from .run/remote docker debug.run.xml rename to .run/debug remote docker container.run.xml index 209d21a..5a471f7 100644 --- a/.run/remote docker debug.run.xml +++ b/.run/debug remote docker container.run.xml @@ -1,5 +1,5 @@ - + diff --git a/README.md b/README.md index 3edf47b..b8fffb0 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,43 @@ +# Standard Go Project Template +This is a template for Go application projects based on [Standard Go Project Layout](https://github.com/golang-standards/project-layout). + +### Build, run and debug application locally + +### Build, run and debug application with docker + +#### Create environment file for docker +Create and fill environment file from template `.env.dist` +``` shell +cp .env.dist .env.docker +``` + #### Build docker container Build container -```bash +``` shell docker build . -t psssix/golang-app:latest ``` and container with debugger -```bash +``` shell docker build . -f Debug.Dockerfile -t psssix/golang-app:debug ``` Push container -```bash +``` shell docker push psssix/golang-app:latest ``` #### Run docker container Run container on docker -```bash +``` shell docker run -d --name golang-app --env-file .env.docker psssix/golang-app:latest ``` and container with debugger -```bash +``` shell docker run -d --name golang-app --security-opt="apparmor=unconfined" --cap-add=SYS_PTRACE -p 4040:4040 --env-file .env.docker psssix/golang-app:debug -``` \ No newline at end of file +``` + +#### Debug docker container +1. Create and fill `.env.docker` file by template `.env.dist`. +2. Build docker container with debugger. +3. Run container on docker with debugger. +4. Play debug configuration names as "debug remote docker container". \ No newline at end of file