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

Leave a Comment

Como desativar o snap do Firefox no Ubuntu 22.04 LTS

Como desativar o snap do Firefox no Ubuntu 22.04 LTS

Aprenda a desinstalar o Firefox Snap no Ubuntu 22.04 LTS e substituí-lo pela versão DEB. Siga este guia passo a passo para uma experiência melhor.

Como compactar arquivos no Linux mais rápido com Pigz

Como compactar arquivos no Linux mais rápido com Pigz

Pigz é uma das melhores ferramentas para compactar arquivos. Neste guia, você aprenderá a instalar e utilizar essa ferramenta poderosa em seu sistema Linux.

Como instalar e configurar o Samba no Debian 11 Bullseye

Como instalar e configurar o Samba no Debian 11 Bullseye

Se você estiver no Debian 11 Bullseye e precisar configurar um servidor Samba, este guia o ajudará. Aprenda como configurar o Samba para Debian 11!

Transforme qualquer dispositivo em seu segundo monitor no Linux

Transforme qualquer dispositivo em seu segundo monitor no Linux

Precisa de um monitor extra, mas só tem um? Com Deskreen, você pode transformar qualquer smartphone, tablet ou laptop em uma segunda tela no Linux.

Como verificar a temperatura da GPU no Linux

Como verificar a temperatura da GPU no Linux

Aprenda como verificar a temperatura da GPU no Linux usando diversas ferramentas.

Como usar o controlador PS4 no Linux

Como usar o controlador PS4 no Linux

Aprenda como usar o controlador PS4 no Linux com suporte completo e métodos de configuração simples.

Como atualizar para Pop_OS 22.04

Como atualizar para Pop_OS 22.04

O Pop_OS 22.04 foi lançado e com ele vem toneladas de novos recursos. Veja como você pode atualizar sua instalação do Pop_OS para 22.04.

Como fazer backup diretamente no Google Drive no Linux

Como fazer backup diretamente no Google Drive no Linux

Descubra como fazer backup dos seus dados do Linux diretamente no Google Drive utilizando o Duplicati. Siga nosso guia passo a passo para proteger suas informações.

Como aumentar o tamanho da pasta temporária no Linux

Como aumentar o tamanho da pasta temporária no Linux

Aprenda como aumentar o tamanho da pasta temporária no Linux. Siga este guia passo a passo para resolver problemas de espaço no seu diretório temporário.

Como instalar e personalizar o emulador de terminal Kitty no Linux

Como instalar e personalizar o emulador de terminal Kitty no Linux

Kitty é um emulador de terminal com GPU versátil e ágil para Linux. Aprenda a instalar e personalizá-lo para melhorar sua experiência no terminal.