Cara como faz se eu tenho mais de uma imagem para a mesa aplicação? No meu Dockerfile eu tenho php, redis, laravel, minha aplicação! Como faz para subir todos em 1 só ? Ou tenho que criar uma task pra cada imagem que tenho?
Estou com tentando gerar uma imagem GO que utiliza o kafka , habilitei o CGO_ENABLED=1, a imagem é gerada, mas n consigo executar o binário, como proceder ?
É possível executar o comando docker run de dentro de um container? Minha aplicação gera nós workers (containers). Mas nao consegui executar o comando docker de dentro do master. Então estou utilizando o binário dele na própria máquina hospedeira.
Executar um "docker run" dentro de um container é o que se chama "docker in docker", pra conseguir isso o container em si que vai rodar o "docker run" por exemplo precisa ter o docker CLI instalado e ter acesso a API de algum docker, geralmente esse acesso a API é feito através do socket /var/run/docker.sock. Ou então rodar o container como privilegiado (--privileged). Acredito que o Rancher faça isso pra gerenciar outros containers mesmo rodando dentro de um container.
Estranho, fiz tudo 2 vezes na AWS e nada de rodar a aplicação com o DNS informado, utilizando o Security groups default. Onde vejo os logs? No meu Docker local rodou.
O meu caso deu este erro no momento de executar exec /server: no such file or directory FROM golang:1.21.3 as builder WORKDIR /app COPY . . RUN CGO_ENABLE=0 GOOS=linux GOARCH=amd64 go build -o server FROM scratch COPY --from=builder /app/server /server ENTRYPOINT ["/server"] 🤔
Consegui resolver assim, se não sei é uma questão de versão, sou novo nestes ambientes com docker e backend estou construindo um aplicação backend em go para se consumida em mobile, a minha image consegui rodar assim RUN CGO_ENABLED=0 GOOS=linux go build -a -tags netgo -ldflags "-w -extldflags -static" -o server . A imagem scratch não possui uma camada de sistema operacional, portanto, seu binário deve ser totalmente estático, ou seja, ele não pode ter dependências externas que não estejam incluídas no próprio binário.
Maluco, tu é MUITO bom, didática incrível, me ajudou demais. Parabens mesmo!
Excelente video, conteúdo top.
O cloud run aceita imagem do docker hub sim
Olá! Como faz com imagens em repositórios privados no Docker Hub?
Cara como faz se eu tenho mais de uma imagem para a mesa aplicação? No meu Dockerfile eu tenho php, redis, laravel, minha aplicação! Como faz para subir todos em 1 só ? Ou tenho que criar uma task pra cada imagem que tenho?
Estou com tentando gerar uma imagem GO que utiliza o kafka , habilitei o CGO_ENABLED=1, a imagem é gerada, mas n consigo executar o binário, como proceder ?
Cloud run podia aumentar limite máximo de instâncias
É possível executar o comando docker run de dentro de um container? Minha aplicação gera nós workers (containers). Mas nao consegui executar o comando docker de dentro do master. Então estou utilizando o binário dele na própria máquina hospedeira.
Executar um "docker run" dentro de um container é o que se chama "docker in docker", pra conseguir isso o container em si que vai rodar o "docker run" por exemplo precisa ter o docker CLI instalado e ter acesso a API de algum docker, geralmente esse acesso a API é feito através do socket /var/run/docker.sock. Ou então rodar o container como privilegiado (--privileged).
Acredito que o Rancher faça isso pra gerenciar outros containers mesmo rodando dentro de um container.
Estranho, fiz tudo 2 vezes na AWS e nada de rodar a aplicação com o DNS informado, utilizando o Security groups default. Onde vejo os logs? No meu Docker local rodou.
Pode ver logs dos containers do ECS no CloudWatch
O meu caso deu este erro no momento de executar exec /server: no such file or directory
FROM golang:1.21.3 as builder
WORKDIR /app
COPY . .
RUN CGO_ENABLE=0 GOOS=linux GOARCH=amd64 go build -o server
FROM scratch
COPY --from=builder /app/server /server
ENTRYPOINT ["/server"]
🤔
Consegui resolver assim, se não sei é uma questão de versão, sou novo nestes ambientes com docker e backend estou construindo um aplicação backend em go para se consumida em mobile, a minha image consegui rodar assim
RUN CGO_ENABLED=0 GOOS=linux go build -a -tags netgo -ldflags "-w -extldflags -static" -o server .
A imagem scratch não possui uma camada de sistema operacional, portanto, seu binário deve ser totalmente estático, ou seja, ele não pode ter dependências externas que não estejam incluídas no próprio binário.
Great content! So easy to deploy a go app