Get Docker Community Edition for your platform (Linux, Mac, Windows).
$ docker-compose up -d
Run this command to verify:
$ curl -i localhost:8080/status
It should output something like this:
HTTP/1.1 200 OK
Date: Wed, 13 Jun 2018 05:45:36 GMT
ontent-Length: 0
$ docker-compose down
$ docker-compose up -d --build
$ docker-compose exec api sh
$ docker-compose exec mongo-db mongo -u root -p password --authenticationDatabase "admin"
Or
$ docker container exec -it go-api-example_api_1 sh
$ docker container exec -it go-api-example_mongo-db_1 mongo -u root -p password --authenticationDatabase "admin"
$ docker-compose logs api
$ docker-compose logs mongo-db
Or
$ docker container logs go-api-example_api_1
$ docker container logs go-api-example_mongo-db_1
Create your Go workspace
Using Docker
$ docker container run --name mongodb -d \
-e MONGO_INITDB_ROOT_USERNAME=root \
-e MONGO_INITDB_ROOT_PASSWORD=password \
-p 27017:27017 -v mongo-data:/data/db \
mongo:latest
Or install on your local machine
Clone .env.sample
and named it .env
$ go run main.go
Or
$ go build
$ ./go-api-example
Or
$ go install
$ go-api-example
Resource | Method | Description |
---|---|---|
/api/v1/projects |
GET | Get all projects |
/api/v1/projects/:id |
GET | Get project by id |
/api/v1/projects?name=<name> |
GET | Find project by name |
/api/v1/projects |
POST | Create project |
/api/v1/projects/:id |
PUT | Update project |
/api/v1/projects/:id |
DELETE | Delete project |
List current volumes:
$ docker volume ls
Remove data volume:
$ docker volume rm go-api-example_mongo-data
Or
$ docker-compose down --volumes