Diferenças entre Docker Desktop para Linux e Docker Engine

1. Introdução ao Docker Desktop

Docker Desktopé um aplicativo de instalação com um clique para ambientes Mac, Linux ou Windows que permite criar, compartilhar e executar aplicativos e microsserviços em contêineres.

Ele fornece uma GUI (Interface Gráfica do Usuário) intuitiva que permite gerenciar contêineres, aplicativos e imagens diretamente de sua máquina. Docker Desktop pode ser usado sozinho ou como ferramenta complementar à CLI.

2. Introdução ao Docker Engine

Docker EngineÉ uma tecnologia de conteinerização de código aberto para construção e conteinerização de aplicativos. Docker Engine como um aplicativo cliente-servidor:

  • Servidores com daemons de longa duração.
  • APIs que especificam interfaces que os programas podem usar para se comunicar e emitir instruções para o daemon do Docker.
  • Janela de encaixe do cliente da interface de linha de comando (CLI).

A CLI usa a API do Docker para controlar ou interagir com o daemon do Docker por meio de scripts ou comandos diretos da CLI. Muitos outros aplicativos Docker usam a API e CLI subjacentes. O daemon cria e gerencia objetos Docker, como imagens, contêineres, redes e volumes.

Docker Engine está disponível em várias distribuições Linux, macOS e Windows via Docker Desktop, ou pode ser instalado como um binário estático.

3. Qual é a diferença entre Docker Desktop para Linux e Docker Engine?

Docker Desktop for Linuxe Docker Enginepodem ser instalados lado a lado na mesma máquina. O Docker Desktop para Linux armazena contêineres e imagens em locais de armazenamento isolados em máquinas virtuais e fornece controles para limitar seus recursos. Usar um local de armazenamento dedicado para Docker Desktop evita que ele interfira no Docker Engine instalado na mesma máquina.

Embora seja possível executar o Docker Desktop e o Docker Engine ao mesmo tempo, executar os dois ao mesmo tempo pode causar problemas em alguns casos. Por exemplo, ao mapear uma porta de rede para um contêiner (-p / --publish), o Docker Desktop e o Docker Engine podem tentar reservar a mesma porta em sua máquina, o que pode causar um conflito ("porta já em uso").

Geralmente recomendamos interromper o Docker Engine ao usar o Docker Desktop para evitar que o Docker Engine consuma recursos e evitar conflitos conforme descrito acima.

Pare o Docker Engine usando o seguinte comando:

sudo systemctl stop docker docker.socket containerd

Se você configurou o Docker Engine para reiniciar automaticamente com o sistema, use o seguinte comando:

sudo systemctl disable docker docker.socket containerd

4. Como alternar entre Docker Desktop e Docker Engine?

O Docker CLI pode ser usado para interagir com vários Docker Engines. Por exemplo, você pode usar a mesma CLI do Docker para controlar instâncias locais do Docker Engine e instâncias remotas do Docker Engine em execução na nuvem. O contexto do Docker permite alternar entre instâncias do Docker Engine.

Quando o Docker Desktop é instalado, um desktop-linuxcontexto dedicado é criado para interagir com o Docker Desktop. Quando o Docker Desktop é iniciado, seu próprio contexto é automaticamente definido como o contexto atual. Isso significa que os comandos subsequentes da CLI do Docker terão como alvo o Docker Desktop. Redefine o contexto atual para o contexto após o desligamento ou saída do Docker Desktop default.

Use docker context lso comando para visualizar os contextos disponíveis na máquina. O contexto atual está marcado com um asterisco (*);

docker context ls
NAME            DESCRIPTION                               DOCKER ENDPOINT                                  ...
default *       Current DOCKER_HOST based configuration   unix:///var/run/docker.sock                      ...
desktop-linux                                             unix:///home/<user>/.docker/desktop/docker.sock  ...        

Se você tiver o Docker Desktop e o Docker Engine instalados na mesma máquina, poderá executar Docker context usecomandos para alternar entre os contextos do Docker Desktop e do Docker Engine.

Use defaultcontexto e Docker Engineinteração:

docker context use default
default
Current context is now "default"

Use desktop-linuxcontexto e Docker Desktopinteração

docker context use desktop-linux
desktop-linux
Current context is now "desktop-linux"

Para obter mais detalhes sobre o contexto do docker, consulte: trabalhando com contextos



Perguntas frequentes sobre Linux

おすすめ

転載: blog.csdn.net/B11050729/article/details/132509857