Tutorial de Instalação do Docker no Ubuntu Heder Dorneles Soares 9 de novembro de 2023 1 Introdução Docker é uma plataforma de código aberto que facilita a criação, implantação e execução de aplicativos em contêineres. Neste tutorial, você aprenderá como instalar o Docker no sistema operacional Ubuntu e conceder permissões para executar comandos Docker sem sudo. 2 Pré-requisitos Certifique-se de que você tem acesso a uma máquina Ubuntu e que está conectado como um usuário com privilégios de superusuário. 3 Passo 1: Remover Versões Anteriores (Opcional) Se você tiver versões antigas do Docker instaladas, é uma boa prática removê-las antes de prosseguir: sudo apt-get remove docker docker-engine docker.io containerd runc 4 Passo 2: Atualizar o Cache dos Pacotes Atualize o cache dos pacotes: sudo apt-get update 5 Passo 3: Instalar o Docker A partir do Ubuntu 20.04 em diante, o Docker pode ser instalado diretamente dos repositórios padrões. Execute o seguinte comando: sudo apt-get install docker.io 6 Passo 4: Habilitar e Iniciar o Serviço Docker Habilite o serviço Docker para iniciar automaticamente no boot e inicie-o: sudo systemctl enable docker sudo systemctl start docker 7 Passo 5: Conceder Permissões ao Usuário para Executar Comandos Docker Para permitir que um usuário execute comandos Docker sem ser superusuário, você pode adicionar o usuário ao grupo docker. Primeiro, crie o grupo docker: sudo groupadd docker Em seguida, adicione o usuário ao grupo docker: sudo usermod -aG docker $USER Faça logout e login novamente para que as alterações de grupo entrem em vigor. Você também pode reiniciar a máquina virtual se estiver usando uma. 1 8 Passo 6: Verificar a Instalação Verifique se o Docker está instalado corretamente e se o usuário tem permissões para executar comandos Docker sem sudo: docker --version docker run hello-world O comando docker run hello-world baixa uma imagem de teste e a executa em um contêiner. Quando o contêiner é executado, ele imprime uma mensagem e sai. 9 Listar Imagens Docker Para listar as imagens Docker em seu sistema, você pode usar o seguinte comando: docker images Isso exibirá uma lista de imagens Docker disponı́veis em seu sistema, incluindo o nome da imagem, a tag, o ID da imagem, o tamanho e a data de criação. Certifique-se de executar este comando no terminal para ver a lista de imagens Docker em seu sistema. 9.1 Exemplo de Saı́da Aqui está um exemplo de saı́da ao listar imagens Docker: REPOSITORY ubuntu nginx mysql hello-world 10 TAG 20.04 latest 8.0 latest IMAGE ID 94e814e2efa8 6b914617f2cd 220e1a9e81f3 d1165f221234 CREATED 4 weeks 4 weeks 4 weeks 4 weeks ago ago ago ago SIZE 72.9MB 127MB 545MB 13.3kB Docker Hub e Executando o Alpine O Docker Hub (https://hub.docker.com) é um serviço de registro de contêineres que permite aos desenvolvedores compartilhar e distribuir imagens Docker. É uma plataforma central para descobrir e compartilhar contêineres prontos para uso. Você pode encontrar uma ampla variedade de imagens Docker prontas para uso no Docker Hub. 10.1 Fazendo Pull da Imagem Alpine Uma imagem Docker muito popular e leve é o Alpine Linux. Vamos fazer o pull dessa imagem do Docker Hub e executá-la. Use o seguinte comando: docker pull alpine Isso fará o download da imagem Alpine do Docker Hub para o seu sistema. 10.2 Executando o Alpine Agora que você fez o pull da imagem Alpine, você pode executá-la em um contêiner. Use o seguinte comando: docker run -it --name meu-alpine alpine Isso criará e iniciará um novo contêiner Alpine. O parâmetro ‘-it‘ permite que você interaja com o contêiner e abra um terminal dentro dele. O parâmetro ‘–name meu-alpine‘ fornece um nome personalizado para o contêiner, que você pode escolher. Dentro do contêiner Alpine, você pode executar comandos do Alpine Linux e explorar o ambiente. 10.3 Comandos Adicionais Depois de entrar no contêiner, você pode executar comandos do Alpine Linux, como ‘apk‘ para gerenciar pacotes. Para sair do contêiner sem pará-lo, pressione ‘Ctrl + P‘ e ‘Ctrl + Q‘. Para parar o contêiner, você pode usar o comando ‘exit‘. exit 2 10.4 Retornar ao Contêiner após Ctrl + P e Ctrl + Q Se você pressionou ‘Ctrl + P’ e ‘Ctrl + Q’ para sair do contêiner sem pará-lo, e deseja retornar ao mesmo contêiner, você pode usar o comando docker attach. Use o seguinte comando para retomar a interação com o contêiner: docker attach nome_do_conteiner Substitua nome do conteiner pelo nome ou ID do contêiner que você deseja acessar. Por exemplo: docker attach meu-alpine Isso permitirá que você volte à interação com o contêiner que você anteriormente deixou. Certifique-se de que o contêiner ainda esteja em execução quando usar docker attach. 11 Instalação do MySQL com Docker O Docker facilita a instalação e execução de bancos de dados, como o MySQL, em contêineres isolados. Você pode usar imagens prontas do MySQL no Docker Hub ou criar seu próprio contêiner personalizado com MySQL. 11.1 Fazendo Pull da Imagem Oficial do MySQL Para começar, você pode fazer o pull da imagem oficial do MySQL diretamente do Docker Hub. Use o seguinte comando para fazer o download da imagem: docker pull mysql Isso fará o download da imagem oficial do MySQL para o seu sistema. 11.2 Executando um Contêiner MySQL Agora que você possui a imagem do MySQL, você pode executar um contêiner MySQL usando o seguinte comando: docker run --name ‘meu-mysql’ -e MYSQL_ROOT_PASSWORD=‘sua_senha’ -d mysql Substitua ‘meu-mysql’ pelo nome que você deseja atribuir ao contêiner e ‘sua senha’ pela senha que você deseja definir para a conta root do MySQL. Isso criará um contêiner MySQL em execução com as configurações especificadas. 11.3 Acessando o MySQL no Contêiner Para acessar o MySQL dentro do contêiner, você pode usar o seguinte comando: docker exec -it ‘meu-mysql’ mysql -uroot -p Isso abrirá um terminal do MySQL no contêiner e solicitará a senha que você definiu anteriormente. Dentro do terminal do MySQL no contêiner, você pode executar comandos SQL para gerenciar seu banco de dados. Para sair do terminal do MySQL, você pode usar o comando ’exit’. exit Para acessar a partir da máquina anfitriã, pegamos primeiro o IP do contêiner: docker inspect meu-mysql | grep "IPAddress" Conectando de fora do contêiner (IP 172.17.0.2 utilize o da sua máquina): mysql -h 172.17.0.2 -u root -p 12 Instalação do Apache com Dockerfile Nesta seção, você aprenderá como criar um Dockerfile para instalar e configurar o servidor Apache HTTP em um contêiner Docker. 3 12.1 Criando o Dockerfile Primeiro, crie um arquivo Dockerfile em um diretório de sua escolha e adicione o seguinte conteúdo: # Use a imagem oficial do Ubuntu como imagem base FROM ubuntu:latest # Atualize o sistema e instale o Apache RUN apt-get update && \ apt-get install -y apache2 # Exponha a porta 80 para o Apache EXPOSE 80 # Inicie o Apache quando um cont^ einer for iniciado a partir desta imagem CMD ["apachectl", "-D", "FOREGROUND"] Neste Dockerfile, estamos usando a imagem oficial do Ubuntu como imagem base, atualizando o sistema e instalando o Apache. Também estamos expondo a porta 80 para o Apache e definindo o comando para iniciar o Apache quando um contêiner é criado a partir desta imagem. 12.2 Construindo a Imagem Agora, abra um terminal no diretório onde você salvou o Dockerfile e execute o seguinte comando para construir a imagem Docker: docker build -t meu-apache . Isso criará uma imagem Docker com o nome ”meu-apache”. 12.3 Executando o Contêiner Apache Uma vez que a imagem tenha sido construı́da com sucesso, você pode executar um contêiner Apache a partir dela usando o seguinte comando: docker run -d -p 80:80 meu-apache Se tiver um apache já instalado no computador local, podemos utilizar outra porta, como 8080, rode dessa forma: docker run -d -p 8080:80 meu-apache Isso iniciará um contêiner Apache que escuta na porta 80 do seu sistema host. Você poderá acessar o servidor Apache visitando http://localhost, ou http://localhost:8080 no seu navegador. Lembre-se de que este é um exemplo simples e pode ser personalizado de acordo com suas necessidades especı́ficas. 4