Docker: Utilização de contextos Docker em Makefiles
Esta documentação faz parte do guia Usos avançados de contextos. Consulte o guia completo aqui: Como usar contextos Docker nos seus scripts.
👋 Bem-vindo à documentação da Stackhero!
A Stackhero oferece uma solução Docker cloud CaaS (Containers as a Service) pronta a usar que proporciona uma série de benefícios, incluindo:
- Implemente facilmente os seus containers em produção com apenas um
docker-compose up.- Nome de domínio personalizável seguro com HTTPS (por exemplo, https://api.sua-empresa.com, https://www.sua-empresa.com, https://backoffice.sua-empresa.com).
- Desempenho ótimo e segurança robusta alimentados por uma VM privada e dedicada.
- Atualizações sem esforço com apenas um clique.
Poupe tempo e simplifique a sua vida: são necessários apenas 5 minutos para experimentar a solução de hospedagem cloud Docker CaaS da Stackhero e implementar os seus containers em produção!
Também pode definir a variável DOCKER_CONTEXT num Makefile. Aqui está um exemplo de exportação da variável e execução de um contêiner Docker:
# Makefile
export DOCKER_CONTEXT=<XXXXXX>.stackhero-network.com
getIp:
docker run --rm alpine wget -q -O - ifconfig.me
Após criar o Makefile, invoque o comando usando:
make getIp
Se encontrar o erro
Makefile: *** missing separator. Stop., certifique-se de que a linhadocker run [...]começa com um carácter TAB, não espaços.
Aproveitamento de ficheiros .env em Makefiles
Pode simplificar ainda mais a configuração incluindo um ficheiro .env no seu Makefile. Esta abordagem garante uma gestão centralizada das suas definições de ambiente:
# Makefile
include .env
export
getIp:
docker run --rm alpine wget -q -O - ifconfig.me
Crie um ficheiro .env com este conteúdo:
DOCKER_CONTEXT=<XXXXXX>.stackhero-network.com
Depois execute o comando:
make getIp
Se encontrar o erro
Makefile: *** missing separator. Stop., verifique se a linhadocker run [...]começa com um carácter TAB em vez de espaços.