Como construir sua própria imagem do Docker no Linux

Você já quis criar sua própria imagem do Docker ? Acontece que, com algo chamado “Dockerfile”, você pode. Neste guia, veremos como criar sua própria imagem do Docker.

Como instalar o Docker no Linux

Você precisará ter o Docker instalado em seu servidor Linux antes de tentar criar uma nova imagem. Felizmente, o docker é fácil de instalar em uma ampla variedade de sistemas operacionais Linux. Neste guia, vamos nos concentrar no Ubuntu, Debian , Arch Linux, Fedora e OpenSUSE .

Para instalar o Docker, abra um terminal. Uma vez aberto, a instalação está pronta para começar. Siga as instruções de instalação descritas abaixo que correspondem ao sistema operacional Linux que você usa.

Ubuntu/Debian

Você primeiro precisará atualizar o índice de software em seu sistema Ubuntu/Debian. Para fazer isso, execute o comando apt update abaixo.

sudo apt update

Agora você deve instalar o pacote de transporte HTTPS para instalar por HTTPS. Você também precisará instalar o Curl e alguns outros pacotes. Esses pacotes podem ser instalados com o comando apt install .

sudo apt install apt-transport-https ca-certificates curl software-properties-common

Com os pacotes instalados, é hora de habilitar a chave Docker GPG em seu sistema Ubuntu/Debian. Essa chave garante que é seguro instalar pacotes no Ubuntu.

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Com a chave GPG habilitada, é hora de habilitar o repositório Docker. Para fazer isso, execute o seguinte comando echo em um terminal.

echo "deb [arch=amd64 assinado por=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) estável" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Depois de habilitar o repositório do Docker, execute novamente o comando apt update para atualizar o índice do software.

sudo apt update

Por fim, você pode instalar os pacotes Docker necessários no Ubuntu ou Debian.

sudo apt install docker-ce docker-ce-cli containerd.io

Arch Linux

Se você usa o Arch Linux, basta executar o comando pacman -S e instalar o pacote “docker” para fazer o Docker funcionar em seu sistema.

sudo pacman -S docker

Com o pacote Docker instalado em seu sistema Arch, execute os seguintes comandos systemctl para habilitar o software.

sudo systemctl ativar janela de encaixe sudo systemctl iniciar janela de encaixe

Fedora

Fazer o Docker funcionar no Fedora é bastante simples. Para começar, use o comando dnf install para instalar o software em seu sistema.

docker de instalação sudo dnf

Assim que o pacote estiver instalado em seu sistema Fedora, habilite-o com systemd.

sudo systemctl ativar janela de encaixe sudo systemctl iniciar janela de encaixe

OpenSUSE

Para que o Docker funcione no OpenSUSE, você deve adicionar o repositório do Docker.

sudo zypper addrepo https://download.docker.com/linux/opensuse/$(awk -F= '/^VERSION_ID/{print $2}' /etc/os-release)/x86_64/stable docker

Em seguida, atualize o Zypper e instale o software.

sudo zypper atualização

sudo zypper install docker-ce

Por fim, habilite o Docker em seu sistema com systemd.

sudo systemctl ativar janela de encaixe sudo systemctl iniciar janela de encaixe

Como escolher sua imagem base

Cada imagem Docker tirada do DockerHub é construída com uma imagem base. Portanto, você precisará escolher uma imagem base para seu contêiner Docker. Neste guia, usaremos o Ubuntu, pois é um dos sistemas operacionais Linux mais compatíveis.

Neste guia, mostraremos um exemplo de como criar uma imagem do Drupal 10 com o Ubuntu 22.04. No entanto, essas instruções de compilação podem ser aplicadas a qualquer coisa que você deseja criar, desde aplicativos da Web a programas Python, etc.

Para começar, abra o editor de texto Nano em um terminal. Você usará o Nano para criar seu próprio Dockerfile.

nano -w ~/dockerfile

Dentro do editor de texto Nano, insira o seguinte código para especificar que deseja usar o Ubuntu. Para obter o Ubuntu 22.04, especifique-o. Se você deseja usar uma versão diferente do Ubuntu, as informações podem ser encontradas aqui .

# Use the official Ubuntu base image
FROM ubuntu:22.04

Como configurar o diretório de trabalho

Você deve configurar um diretório de trabalho em seu contêiner do Docker. O diretório de trabalho é onde o aplicativo é implantado no Ubuntu no contêiner. Neste exemplo, trabalharemos com o Drupal 10. O Drupal é um aplicativo da Web, portanto, precisaremos definir o WORKDIR como /var/www/html/.

No editor de texto Nano, pressione a tecla Enter para criar um espaço. Em seguida, cole o seguinte código.

# Set the working directory in the container WORKDIR /var/www/html

Como instalar as dependências do programa

O aplicativo implantado em sua imagem do Docker precisa ter suas dependências atendidas. Se as dependências corretas não estiverem instaladas na imagem, ela não funcionará. Estamos criando uma imagem do Drupal 10 baseada no Ubuntu 22.04, então devemos adicionar todas as dependências do Drupal 10 ao arquivo.

No editor de texto Nano, pressione a tecla Enter para criar um espaço. Em seguida, cole o seguinte código.

# Install dependencies RUN apt-get update && apt-get install -y \ apache2 \ php \ libapache2-mod-php \ php-curl \ php-gd \ php-intl \ php-mbstring \ php-mysql \ php-pgsql \ php-xml \ php-zip \ unzip

Como copiar o código do programa

A próxima etapa do processo é fornecer o código do programa ao seu arquivo Docker. Mais uma vez, estamos usando o Drupal 10 como exemplo. Portanto, devemos fornecer ao Dockerfile os meios para baixar e extrair o Drupal 10.

No editor de texto Nano, pressione a tecla Enter para criar uma nova linha. Em seguida, adicione o seguinte código para que seu Dockerfile possa baixar o Drupal 10.

# Download and install Drupal RUN wget https://ftp.drupal.org/files/projects/drupal-10.2.tar.gz && \ tar -xvf drupal-10.2.tar.gz && \ mv drupal-10.2 .

Como expor portas

Sempre que você implanta um contêiner do Docker, ele acessa as portas. Por exemplo, se você executar o contêiner Syncthing padrão, ele expõe a porta 8384. Nextcloud? Porta 8080 e 80. Seu contêiner precisa expor as portas corretas para funcionar corretamente.

Primeiro, descubra a quais portas o programa que você está implantando precisa acessar. Neste exemplo, estamos implantando o Drupal 10. Como o Drupal 10 é um sistema CMS para um servidor web, ele precisa da porta 80. Portanto, no arquivo de texto Nano, expomos a porta 80.

# Expose the Drupal port EXPOSE 80

Como definir o comando padrão

Você precisa definir o comando padrão em seu Dockerfile para que, quando sua imagem for criada e implantada, ela comece a executar o programa automaticamente. Em nosso exemplo, queremos que o Drupal 10 inicie instantaneamente assim que o contêiner for implantado, portanto, precisamos adicionar um comando de inicialização ao Dockerfile.

No editor de texto Nano, pressione Enter para criar um novo espaço no arquivo. Em seguida, cole o seguinte código.

# Start Apache in the foreground CMD ["apache2ctl", "-D", "FOREGROUND"]

Depois de adicionar este último trecho de código ao arquivo, salve-o pressionando Ctrl + O e saia do editor de texto Nano com Ctrl + X . O Dockerfile deve se parecer com o código abaixo.

Nota: este é um exemplo de Dockerfile. Você pode usar o exemplo do Drupal como referência para criar o seu próprio para qualquer aplicativo que desejar.

FROM ubuntu:22.04

# Set the working directory
WORKDIR /var/www/html

# Install dependencies
RUN apt-get update && apt-get install -y \
apache2 \
php \
libapache2-mod-php \
php-curl \
php-gd \
php-intl \
php-mbstring \
php-mysql \
php-pgsql \
php-xml \
php-zip \
unzip


# Download and install Drupal
RUN wget https://ftp.drupal.org/files/projects/drupal-10.2.tar.gz && \
tar -xvf drupal-10.2.tar.gz && \
mv drupal-10.2 .


# Expose the Drupal port
EXPOSE 80

# Start Apache in the foreground
CMD ["apache2ctl", "-D", "FOREGROUND"]

Como construir a imagem

Para criar sua nova imagem do Docker com o Dockerfile que você criou, digite o seguinte comando docker build .

sudo docker build -t minha-imagem-docker .

O comando acima criará sua imagem do Docker.

Como implantar a imagem

Para implantar sua nova imagem em um contêiner, você precisa usar o comando docker run . Por exemplo, para executar a imagem recém-construída do Drupal 10 Ubuntu na porta 80, faça o seguinte.

sudo docker run -d --name my-drupal-container -p 80:80 my-docker-image

Deixar um comentário

Corrigindo o Screen Tearing em placas gráficas Intel no Pardus Linux: Um guia focado em resultados

Corrigindo o Screen Tearing em placas gráficas Intel no Pardus Linux: Um guia focado em resultados

Corrija o problema de tearing (rasgo na tela) causado por placas gráficas Intel no Pardus Linux verificando as configurações de X11 vs. Wayland, as configurações do compositor, a taxa de atualização, o driver Xorg ativo e o TearFree somente quando apropriado.

Como configurar o firewall do SLES 15 com o firewall-cmd

Como configurar o firewall do SLES 15 com o firewall-cmd

Configure o firewalld no SLES 15: verifique as zonas, permita serviços ou portas, salve regras permanentes, recarregue com segurança e verifique o acesso.

Guia de configuração de aplicação de patches em tempo real no SLES: Aplique atualizações do kernel sem reiniciar.

Guia de configuração de aplicação de patches em tempo real no SLES: Aplique atualizações do kernel sem reiniciar.

Habilite a aplicação de patches em tempo real no kernel do SLES 15 SP7, aplique correções compatíveis sem reiniciar, verifique os patches ativos e entenda quando ainda é necessário reiniciar o kernel.

Como ativar o modo FIPS no SUSE Linux Enterprise Server 15

Como ativar o modo FIPS no SUSE Linux Enterprise Server 15

Ative o modo FIPS no SLES 15 com o utilitário de configuração compatível com a SUSE, reinicie com segurança, verifique o status do kernel e da política criptográfica e verifique os limites de certificação.

Como instalar o Google Chrome no Gooroom OS sem violar as políticas de segurança

Como instalar o Google Chrome no Gooroom OS sem violar as políticas de segurança

Instale o Google Chrome no Gooroom OS com segurança usando pacotes .deb oficiais, APT, verificações de políticas, orientações de atualização e correções para dispositivos gerenciados.

Como exportar logs do sistema SLES para um servidor Syslog remoto com segurança

Como exportar logs do sistema SLES para um servidor Syslog remoto com segurança

Encaminhe com segurança os logs do sistema SLES para um servidor syslog remoto usando rsyslog, certificados TLS, verificação de nome do par, filas, validação e testes.

Integração do Active Directory do SLES 15 com o SSSD: um guia passo a passo

Integração do Active Directory do SLES 15 com o SSSD: um guia passo a passo

Integre o SLES 15 ao Active Directory com o SSSD usando o YaST. Prepare o DNS e o horário, configure os logins de domínio, verifique o Kerberos e compare o SSSD, o Winbind e o realmd.

Fix Realtek RTL8821CE Wi-Fi Driver Issues on Pardus Linux

Fix Realtek RTL8821CE Wi-Fi Driver Issues on Pardus Linux

Fix RTL8821CE Wi-Fi on Pardus Linux by checking the built-in rtw88 driver, Realtek firmware, rfkill, NetworkManager, and safe fallback options.

Corrigir o problema "Falha temporária na resolução de DNS" no Debian 12 com systemd-resolved

Corrigir o problema "Falha temporária na resolução de DNS" no Debian 12 com systemd-resolved

Diagnosticar e corrigir falhas de resolução de DNS no Debian 12 com systemd-resolved, incluindo resolv.conf, NetworkManager, networkd, cache e verificação.

Como instalar o Pardus Linux em dual boot com o Windows 11 de forma segura

Como instalar o Pardus Linux em dual boot com o Windows 11 de forma segura

Instale o Pardus 25.2 ao lado do Windows 11 fazendo um backup, reduzindo o volume do Windows, inicializando a partir de um USB UEFI e protegendo as partições EFI e de recuperação existentes.