Aristat / golang-example-app

Example application
181 stars 72 forks source link

exec docker compose error #5

Closed sam-mix closed 3 years ago

sam-mix commented 3 years ago
docker compose up -d
[+] Building 18.2s (18/18) FINISHED                                                                                                                                                                                                    
 => [nats-streaming internal] load build definition from Dockerfile                                                                                                                                                               0.0s
 => => transferring dockerfile: 56B                                                                                                                                                                                               0.0s
 => [health_check_service internal] load build definition from Dockerfile                                                                                                                                                         0.0s
 => => transferring dockerfile: 72B                                                                                                                                                                                               0.0s
 => [daemon internal] load build definition from Dockerfile                                                                                                                                                                       0.0s
 => => transferring dockerfile: 72B                                                                                                                                                                                               0.0s
 => [product_service internal] load build definition from Dockerfile                                                                                                                                                              0.0s
 => => transferring dockerfile: 72B                                                                                                                                                                                               0.0s
 => [jaeger internal] load build definition from Dockerfile                                                                                                                                                                       0.0s
 => => transferring dockerfile: 73B                                                                                                                                                                                               0.0s
 => [postgres internal] load build definition from Dockerfile                                                                                                                                                                     0.0s
 => => transferring dockerfile: 54B                                                                                                                                                                                               0.0s
 => [daemon-migrate internal] load build definition from Dockerfile                                                                                                                                                               0.0s
 => => transferring dockerfile: 72B                                                                                                                                                                                               0.0s
 => [nats-streaming internal] load .dockerignore                                                                                                                                                                                  0.0s
 => => transferring context: 2B                                                                                                                                                                                                   0.0s
 => [health_check_service internal] load .dockerignore                                                                                                                                                                            0.0s
 => => transferring context: 2B                                                                                                                                                                                                   0.0s
 => [daemon internal] load .dockerignore                                                                                                                                                                                          0.0s
 => => transferring context: 2B                                                                                                                                                                                                   0.0s
 => [product_service internal] load .dockerignore                                                                                                                                                                                 0.0s
 => => transferring context: 2B                                                                                                                                                                                                   0.0s
 => [jaeger internal] load .dockerignore                                                                                                                                                                                          0.0s
 => => transferring context: 2B                                                                                                                                                                                                   0.0s
 => [postgres internal] load .dockerignore                                                                                                                                                                                        0.0s
 => => transferring context: 2B                                                                                                                                                                                                   0.0s
 => [daemon-migrate internal] load .dockerignore                                                                                                                                                                                  0.0s
 => => transferring context: 2B                                                                                                                                                                                                   0.0s
 => CANCELED [nats-streaming internal] load metadata for docker.io/library/nats-streaming:latest                                                                                                                                 17.8s
 => ERROR [daemon-migrate internal] load metadata for docker.io/library/golang-example-app:development                                                                                                                           17.7s
 => CANCELED [jaeger internal] load metadata for docker.io/jaegertracing/all-in-one:latest                                                                                                                                       17.7s
 => CANCELED [postgres internal] load metadata for docker.io/library/postgres:9.6                                                                                                                                                17.7s
------
 > [daemon-migrate internal] load metadata for docker.io/library/golang-example-app:development:
------
failed to solve: rpc error: code = Unknown desc = failed to solve with frontend dockerfile.v0: failed to create LLB definition: pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed
Aristat commented 3 years ago

I guess you didn't create image locally because golang-example-app:development no public image -

Steps -

  1. make install (create folder and install packages for wire, sql-migration and dataloaden), maybe it is not needed just to check, but it will be needed to test the libraries
  2. make dependencies, it's just go mod download to download packages from go.mod
  3. DOCKER_IMAGE=golang-example-app TAG=development make docker-image - command creates docker image based on this repo locally with artifacts(configs and etc)
  4. docker compose up

you can check it - https://github.com/Aristat/golang-example-app/blob/master/scripts/docker-compose-start.sh

REMOVE_CONTAINERS=on - removes the old docker image latest before every new creation, this is just for convenience

In a real project, it is better to use some kind of circleci is for generate image and AWS ECR is for storing images or their analogues

NOTE: In this example, I did not save the ready-made docker image, the example was made just to show how to create a docker image

or it makes sense to move these steps into the docker layer, but I didn't have time to do it 😄 (maybe I'll look at it this week to make it easier to work with docker without install packages and golang locally and etc)

sam-mix commented 3 years ago

thank you.