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


Melhore a área de transferência do Gnome Shell com o Pano

Melhore a área de transferência do Gnome Shell com o Pano

Vamos enfrentá-lo, a área de transferência padrão do Gnome Shell não é muito boa. Instale o Pano para melhorar sua experiência na área de transferência!

Como instalar o DaVinci Resolve 17 no Linux

Como instalar o DaVinci Resolve 17 no Linux

Você precisa de um ótimo editor de vídeo não linear para sua caixa Linux? Obtenha o Davinci Resolve 17 trabalhando com este guia!

Como baixar papéis de parede para a área de trabalho do Linux com o Wallpaper Downloader

Como baixar papéis de parede para a área de trabalho do Linux com o Wallpaper Downloader

O Wallpaper Downloader é um gerenciador e baixador de papéis de parede para Linux. Ele suporta a maioria dos ambientes de desktop Linux e é muito fácil de usar. Este guia

Como instalar o Tuxedo OS no seu computador

Como instalar o Tuxedo OS no seu computador

Quer testar o Tuxedo OS por computadores Tuxedo? Saiba como obter a versão mais recente do Tuxedo OS funcionando em seu PC.

Como instalar um arquivo DEB no Linux

Como instalar um arquivo DEB no Linux

O que é um arquivo DEB? O que você faz com isso? Aprenda as várias maneiras de instalar arquivos DEB em seu PC com Linux.

Como jogar Dying Light no Linux

Como jogar Dying Light no Linux

Dying Light é um videogame de survival horror de 2015 desenvolvido pela Techland e publicado pela Warner Bros Interactive Entertainment. O jogo é centrado em

Como instalar o Neptune Linux no seu computador

Como instalar o Neptune Linux no seu computador

O Neptune usa o ambiente de desktop KDE Plasma 5 e visa oferecer um sistema operacional elegante. Veja como instalar o Neptune Linux no seu computador.

Experimente o novo desktop baseado em snap do Ubuntu

Experimente o novo desktop baseado em snap do Ubuntu

Quer experimentar o novo sistema operacional de desktop baseado em pacote instantâneo do Ubuntu? Aprenda como implantá-lo em uma máquina virtual com este guia.

Como jogar Undertale no Linux

Como jogar Undertale no Linux

Undertale é um RPG indie 2D de 2015 desenvolvido e publicado pelo desenvolvedor de jogos Toby Fox. Este guia cobrirá o download e a instalação do Undertale em seu

Como jogar Total War: THREE KINGDOMS no Linux

Como jogar Total War: THREE KINGDOMS no Linux

Total War: Three Kingdoms é um jogo RTS de estratégia baseado em turnos desenvolvido pela Creative Assembly. Veja como jogar no Linux.