Docker Run vs Docker-Compose

Docker Run vs Docker-Compose
Docker é uma plataforma bem conhecida, de código aberto e universalmente usado. Ele fornece muitos utilitários e componentes de linha de comando para construir, executar e implantar aplicativos como “Docker Run" e "Docker-Compose”Comandos. Ambos os comandos são usados ​​para criar e iniciar os contêineres para recipientes os aplicativos e outros microsserviços.

Este artigo demonstrará:

  • Diferença entre "Docker-Run" e "Docker-Compose" em Docker
  • Como usar o "Docker Run" no Docker?
  • Como usar o "Docker-Comppose" no Docker?

Diferença entre "Docker Run" e "Docker-Comppose" em Docker

Ambos "Docker Run" e "Docker-Compose”Os comandos são usados ​​para um propósito semelhante para construir e iniciar os contêineres para contêiner o aplicativo ou serviços. A principal diferença entre esses dois comandos é o comando "Docker Run" executa a imagem para criar um único contêiner, e é um comando puramente baseado em terminal. Enquanto o comando "Docker-Compose" lê as instruções do "Docker-Compose.Arquivo YML ”e é usado para gerenciar e executar aplicativos multi-containers. Em outras palavras, ele pode criar e executar mais de um contêiner de cada vez.

Como usar o "Docker Run" no Docker?

Docker “correr”O comando pode gerar apenas um único contêiner ao mesmo tempo. Veja as instruções para utilizar o contêiner do Docker Run para dockerizar um aplicativo.

Etapa 1: Faça o Dockerfile
Primeiro, crie um Dockerfile simples que contém instruções simples para dockerizar o aplicativo. Por exemplo, criamos “Main1.Dockerfile”Para recipiente o“Main1.ir”Código de Golang:

De Golang: 1.8
Workdir/go/src/app
Copie Main1.ir .
Run Go Build -O WebServer .
PONTO DE ENTRADA ["./servidor web"]

Etapa 2: Crie uma imagem
Gerar uma nova imagem utilizando o Dockerfile. Aqui, "-t”Especifica o nome da imagem e“-f”É usado para definir o nome ou caminho do Dockerfile:

Docker Build -t Go -Image -f Main1.Dockerfile .

Etapa 3: Crie e inicie o contêiner
Em seguida, utilize o “Docker Run”Comando para contêiner o aplicativo usando a imagem do Docker. O "-d“Flag irá executar o contêiner no modo isolado e“-p”Especifica a porta do host local para expor o contêiner:

Docker Run -d -p 8080: 8080 Go -Image

Liste todos os contêineres para verificar se o contêiner é criado e executando a exposição de porta ou não:

Docker PS -A

Como alternativa, você pode visitar a porta atribuída do host local para verificar se o contêiner está em execução ou não:

Como usar o "Docker-Comppose" no Docker?

Docker Compose é uma parte central da solução do Docker utilizada para operar e gerenciar projetos e serviços de contêineres com vários contêineres. O "Docker-Compose”O comando lê as instruções do arquivo de composição. Em seguida, inicie os serviços construindo e executando os contêineres.

Para utilizar o “Docker-Compose”Em Docker, passe pelo procedimento fornecido.

Etapa 1: Crie “Docker-Compose.arquivo yml ”
Primeiro, crie um arquivo chamado “Docker-Compose.yml”Arquive e configure os serviços necessários para executar. Por exemplo, configuramos as seguintes configurações:

  • ““Serviços"Configura dois serviços diferentes,"rede" e "Web2”.
  • O serviço "web" usa o "principal.Dockerfile”Para recipiente e executar o“principal.ir" programa.
  • O serviço "web2" usa o "Main1.Dockerfile”Para dockerizar e executar o“Main1.ir" programa.
  • ““portas”A chave é utilizada para especificar a porta exposta para o contêiner. Em nosso cenário, o Docker atribuirá automaticamente a porta exposta ao serviço "Web", e o serviço "Web2" exporá na porta 8080:
Versão: "Alpine"
Serviços:
rede:
construir:
Dockerfile: Main.Dockerfile
Comando: ["./servidor web"]
Portas:
- 8080
Web2:
construir:
Dockerfile: Main1.Dockerfile
Portas:
- 8080: 8080

Etapa 2: Iniciar recipientes
Em seguida, inicie os contêineres com a ajuda do comando mencionado:

Docker -Compor Up -d

Etapa 3: Liste os contêineres
Liste os contêineres de composição e verifique se os serviços definidos estão executando em contêineres separados ou não:

Docker -Compor PS -A

Aqui você pode ver "rede"Está executando na porta"62689" e "Web2"Está expondo em"8080”:

Você pode navegar pelas portas expostas de contêineres para verificação:

Pode -se observar que executamos com sucesso dois recipientes diferentes de cada vez do “Docker-Compose”Comando:

Conclusão

O "Docker-Compose" e "Docker Run”Ambos os comandos são executados para criar e executar os contêineres. A principal diferença entre esses dois comandos é o comando "Docker Run" cria um único contêiner ao mesmo tempo. No entanto, o "Docker-Comppose" pode criar, gerenciar e executar vários contêineres simultaneamente. Esta redação demonstrou a principal diferença entre os comandos "Docker-Compose" e "Docker Run".