image

Bootcamps ilimitados + curso de inglês para sempre

80
%OFF
Article image
Ariosto Leal
Ariosto Leal02/06/2024 06:27
Compartilhe

Como criar um diretório com o comando Mkdir em um contêiner com Dockerfile

  • #Docker

Os contêineres Docker se tornaram a maneira de fato de gerenciar software e dependências em diferentes ambientes. Ao trabalhar com aplicativos reais, não há dúvida de que você precisará criar um Dockerfile antes de poder construir a imagem do contêiner de seus aplicativos.

Crie diretório com mkdircomando em um contêiner com Dockerfile

Além de apenas permitir que os desenvolvedores montem os comandos necessários para criar imagens Docker, há muito mais que podemos fazer com Dockerfiles. Para criar com êxito uma imagem Docker usando um Dockerfile, você deve conhecer alguns comandos básicos.

Alguns dos comandos mais usados ​​incluem:

  1. FROM- Cria uma camada da imagem pai/imagem base que será utilizada.
  2. WORKDIR- nos permite definir o diretório de trabalho.
  3. COPY- nos permite copiar o conteúdo do diretório atual para um diretório no contêiner.
  4. PULL- Adiciona arquivos do seu repositório Docker.
  5. RUN- Comando a ser executado quando quisermos construir a imagem.
  6. CMD- especifica qual comando será executado quando o contêiner for iniciado.
  7. ENV- Define variáveis ​​ambientais utilizadas durante a construção.
  8. ENTRYPOINT- especifica qual comando será executado quando o contêiner for iniciado.
  9. MAINTAINER- Especifica o autor da imagem.

Usando os comandos acima, podemos criar um Dockerfile como o abaixo que usa Python como imagem base.

Código:

#  base image

FROM
 Python


# Set your working directory

WORKDIR
 /var/www/

# Copy the necessary files

COPY
 ./app.py /var/www/app.py
COPY
 ./requirements.txt /var/www/requirements.txt

# Install the necessary packages

RUN
 pip install -r /var/www/requirements.txt
# Run the app

CMD
 [
"echo"
, 
"Hello, Developer"
]

Este Dockerfile faz parte de um aplicativo Flask simples que imprime apenas uma mensagem no console. Aqui está o requirements.txtarquivo se você estiver interessado em criar o mesmo aplicativo.

click==8.0.4
Flask==2.0.3
gunicorn==20.1.0
itsdangerous==2.1.0
Jinja2==3.0.3
MarkupSafe==2.1.0
Werkzeug==2.0.3

O arquivo principal app.pyque contém o arquivo principal do aplicativo é mostrado abaixo.

Código:

from flask import Flask

app = Flask(__name__)


def hello():

  print("Hello, this is a simple Flask application")


hello()

Agora, para criar um diretório com o mkdircomando dentro do sistema de arquivos do nosso contêiner Docker, usaremos o RUNcomando conforme mostrado abaixo.

#  base image

FROM
 Python


# Set your working directory

WORKDIR
 /var/www/

# Copy the necessary files

COPY
 ./app.py /var/www/app.py
COPY
 ./requirements.txt /var/www/requirements.txt

# Install the necessary packages

RUN
 pip install -r /var/www/requirements.txt
RUN
 mkdir -p /var/www/new_directory
# Run the app

CMD
 [
"echo"
, 
"Hello, Developer"
]

O comando RUN mkdir -p /var/www/new_directorypermite que você crie um diretório nomeado new_directorydentro do sistema de arquivos Docker que eventualmente construiremos usando uma imagem construída usando o arquivo Docker acima.

No entanto, começaremos construindo uma imagem Docker baseada em Python como imagem base executando o comando abaixo.

isaac@DESKTOP-HV44HT6:~/my-app$ docker build -t new_image .

Saída:

image

Confirme que construímos com sucesso uma imagem Docker a partir do arquivo Docker usando o docker imagescomando abaixo.

$ docker images

Saída:

REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
new_image    latest    7ab964c50876   13 minutes ago   932MB

Agora que temos uma imagem Docker instalada, podemos prosseguir e criar um contêiner Docker e confirmar se o diretório nomeado new_directoryfoi criado. Conforme mostrado abaixo, precisaremos iniciar Bashdentro do contêiner para navegar nos diretórios dentro do contêiner Docker.

$ docker run -it new_image bash
root@ea42f35d5404:/var/www#

Você notará que new_directoryfoi criado após listar os arquivos neste diretório. Além disso, também podemos navegar no próprio diretório e até criar novos arquivos dentro dele.

root@ea42f35d5404:/var/www# ls
app.py  new_directory  requirements.txt
root@ea42f35d5404:/var/www# 
cd
 new_directory
root@ea42f35d5404:/var/www/new_directory# ls
root@ea42f35d5404:/var/www/new_directory# touch new_file
root@ea42f35d5404:/var/www/new_directory# ls
new_file
Compartilhe
Recomendados para você
Microsoft 50 Anos - Prompts Inteligentes
Microsoft 50 Anos - GitHub Copilot
Microsoft 50 Anos - Computação em Nuvem com Azure
Comentários (0)