Instalar o Docker e abrir o terminal. - Quantos e quais containers estão executando na nossa máquina: docker ps - Executar uma image: docker run imagename - Teste: docker run hello-word *O container só executa enquanto estiver um processo lá dentro, assim que acaba a execução, ele encerra. - Para ver todos os container, mesmo os que pararam de executar: docker ps -a - Rodar o ubuntu (fecha pois não há processo dentro): docker run ubuntu - Rodar e manter aberto, podemos usar o bash (terminal ubuntu) e o it (para interagir): docker run -it ubuntu bash Isso reinicia um novo terminal dentro do terminal, usando como se fosse um terminal do ubuntu (pode fazer ls, cd home, mkdir new-diretório, etc.). Abre um novo terminal: - Para parar a execução do container: docker stop ID-container Logo, no terminal anterior não tem como interagir mais pois parou a execução. - Para reiniciar um container parado: docker start ID-container Logo, no terminal anterior não volta automaticamente, precisa: docker exec -iti ID-container bash
Criar o nosso DockerFile: Precisa importar o maven, a versão da image 3.8.4 No pom.xml: FROM maven: 3.8.4-jdk-8 AS build *importar a image para dentro do container e nomeia de build* COPY src /app/src *copia os arquivos necessários para a aplicação* COPY pom.xml /app WORKDIR /app *mudar para o diretório /app* RUN mvn clean install *dentro do diretório quero fazer as instalações das dependências com o maven e o build da aplicação* FROM openjdk:8-jre-alpine COPY --from=build /app/target/spring-boot...jar /app/app.jar*copiar o arquivo .jar gerado no build da aplicação* WORKDIR /app *volta para o diretório app* EXPOSE 8080 *declara que vai expor a porta 8080* CMD ["java", "-jar", "app.jar"] *comando de execução do container* Abre um terminal separado para criar uma image a partir do dockerfile: docker build -t nome-da-image:1.0 . Após a image gerada, pode executar: docker run nome-da-image:1.0 Fazer o mapeamento de porta aleatória de execução: docker run -P nome-da-image:1.0 Fazer o mapeamento e definir qual porta será executada: docker run -p 8080:8080 nome-da-image:1.0
Subir a aplicação na nuvem (deploy) Hostinger - para hospedagem de sites Servidor vps da hostinger Pega o comando para conectar via ssh Coloca esse comando no terminal: ssh root@ip-máquina e a senha da chave privada Verifica se há instalação do docker: docker -version Instalar o docker: sudo apt update sudo apt upgrade Depois passa: sudo apt-get install curl apt-transport-https ca-certificates software properties-common Adiciona uma chave GPG, inserindo o comando a seguir na linha de comando do sistema: curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - Adicione o repositório executando este comando: sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" Atualize a informação do repositório: sudo apt update Garanta que você está instalando a partir do repositório do Docker, ao invés do repositório padrão do Ubuntu ao usar este comando: apt-cache policy docker-ce A saída correta vai ficar como o texto a seguir, com diferentes números de versões: docker-ce: Installed: (none) Candidate: 16.04.1~ce~4-0~ubuntu Version table: 16.04.1~ce~4-0~ubuntu 500 500 https://download.docker.com/linux/ubuntubionic/stableamd64packages Use o comando para, enfim, instalar o Docker no Ubuntu: sudo apt install docker-ce Assim que a instalação estiver completa, é uma ótima ideia verificar o status do serviço: sudo systemctl status docker Precisa logar no docker hub: ir em security e acessar para gerar um novo token de acesso No terminal local do vscode: docker login -u nome-de-usuário e a senha é o access token gerado Depois no docker hub: Criar um novo repositório obs.: o nome da image tem que ser igual ao nome dado para o repositório No terminal: docker build -t nome-de-usuário-do-hub/nome-da-image:1.0 . Agora faz o push: docker push nome-de-usuário-do-hub/nome-da-image:1.0 Na vps: docker run nome-de-usuário-do-hub/nome-da-image:1.0 Para adaptar a image para uma plataforma diferente: docker build --platform linux/arm64 -t nome-de-usuário-do-hub/nome-da-image:1.0 . Mudar o nome para evitar subescrever, então cria com: docker tag nome-de-usuário-do-hub/nome-da-image:1.0 nome-de-usuário-do-hub/nome-da-image:1.0-amd64 Faz o push novamente: docker push nome-de-usuário-do-hub/nome-da-image:1.0 Na vps pega a específica da arquitetura: docker run nome-de-usuário-do-hub/nome-da-image:1.0-amd64
Comandos Principais de Container: - FROM: Gera uma camada, de onde puxamos alguma imagem. - PULL: Adiciona arquivos do seu repositório Docker. - WORKDIR: Estabelece o local de diretório de trabalho. - COPY: Copia as pasta fonte para a pasta destino do sistema de arquivos de imagem. - RUN: Instrui ao Docker sobre como construir o container. Vai executar qualquer comando em cima da imagem atual como uma nova camada (layer) e executar os resultados disso. - CMD: Especifica qual comando deve ser executado dentro do container. Só pode existir um CMD. - EXPOSE: Expõe qual vai ser a porta. - ENTRYPOINT: Ele tem como alvo seu aplicativo padrão imagem quando o container é criado. - ADD: Dentro do container ele copia arquivos da origem para o destino. - ENV: Define variáveis de ambiente.
Want to create your own Notes for free with GoConqr? Learn more.