Docker 1.13 foi lançado ontem, parabéns!
Um breve resumo dos principais recursos:
- Arquivo de composição para implantar serviços no modo Swarm
- Compatibilidade com versões anteriores da CLI aprimorada
- Comandos de limpeza
- CLI reestruturada
- Monitoramento e melhorias de construção
Saiba mais detalhes sobre esses recursos neste vídeo de @manomarks:
Primeiros passos com o Docker 1.13
Use o Docker para Mac ou Windows para começar. Depois de instalado, as informações da versão são semelhantes:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
Cliente: Versão: 1.13.0 API versão: 1.25 Ir versão: go1.7.3 Git comprometer: 49bf474 Construído: Quarta Jan 18 16:20:26 2017 SO/Arco: Darwin/amd64 Servidor: Versão: 1.13.0 API versão: 1.25 (mínimo versão 1.12) Ir versão: go1.7.3 Git comprometer: 49bf474 Construído: Quarta Jan 18 16:20:26 2017 SO/Arco: linux/amd64 Experimental: verdadeiro |
Problemas com a CLI do Docker
A CLI do Docker 1.12 tem cerca de ~40 comandos solo de nível superior. Embora esses comandos funcionassem muito bem, eles tinham alguns problemas:
- Os comandos estão listados em uma única lista sem nenhuma organização. Isso dificulta o início e o aprendizado dos comandos para os novatos. (#8756)
- O comando, como
inspeção de docas
O comando "Imagem" também não fornece contexto suficiente para saber se está operando na imagem ou no contêiner. Essa mistura de comandos de imagem e de contêiner pode causar confusão. (#13509) - Não há consistência nos nomes dos comandos. Por exemplo
imagens do docker
é um plural e fornece a lista de imagens, enquantodocker ps
é singular e fornece a lista de contêineres. E, é claro, eles têm o problema da inconsistência de nomes. (#8829) - Alguns dos comandos, como
construir
eexecutar
são muito usados e, em seguida, alguns arcanos comopausa
eesperar
não com tanta frequência. Não parece justo manter todos os comandos no mesmo nível.
O Docker 1.13 corrige esse problema!
Comandos de gerenciamento do Docker
O Docker 1.13 agrupa os comandos logicamente em comandos de gerenciamento. Aqui estão os comandos solo de nível superior agora:
1 2 3 4 5 6 7 8 9 10 11 12 |
ponto de controle Gerenciar pontos de controle contêiner Gerenciar contêineres imagem Gerenciar imagens rede Gerenciar redes nó Gerenciar Enxame nós plug-in Gerenciar plugins segredo Gerenciar Docker segredos serviço Gerenciar serviços pilha Gerenciar Docker pilhas enxame Gerenciar Enxame sistema Gerenciar Docker volume Gerenciar volumes |
Agora, uma lista de imagens é obtida usando imagem do docker ls
em vez de imagens do docker
comando. Similar contêiner docker ls
mostra a lista de contêineres em vez de docker ls
. Isso traz muita consistência entre os comandos, o que os tornaria intuitivos e mais fáceis de serem lembrados por novatos e profissionais. Cada comando de gerenciamento tem um conjunto semelhante de subcomandos em que eles executam a operação na categoria de comando:
Subcomando | Finalidade |
---|---|
ls |
Lista (imagem, contêiner, volume, segredo, etc.) |
rm |
Remover |
inspecionar |
Inspecionar |
E há outros subcomandos baseados na categoria de gerenciamento. Alguns dos comandos mais usados ainda estão no nível superior. Por padrão, todos os comandos de nível superior também são exibidos. Mas você pode definir a opção DOCKER_HIDE_LEGACY_COMMANDS
para mostrar apenas os comandos de gerenciamento. Portanto, mesmo que docker --help
mostrará todos os comandos solo e de gerenciamento. Mas os comandos a seguir mostrarão apenas os novos comandos de gerenciamento:
1 |
DOCKER_HIDE_LEGACY_COMMANDS=verdadeiro doca --ajuda |
A sintaxe antiga ainda é suportada, mas é recomendável começar a migrar para os novos comandos. Um novo contêiner do Couchbase pode ser iniciado como:
1 |
doca contêiner executar -d -p 8091-8094:8091-8094 -p 11210:11210 arungupta/couchbase |
A lista de imagens pode ser vista como:
1 |
doca imagem ls |
Mapeamento do Docker Solo para comandos de gerenciamento
Vamos dar uma olhada em como os comandos de nível superior existentes correspondem aos comandos de gerenciamento:
1.12 | 1.13 | Finalidade |
---|---|---|
anexar |
fixação do contêiner |
Anexar a um contêiner em execução |
construir |
construção de imagens |
Criar uma imagem a partir de um Dockerfile |
comprometer |
commit do contêiner |
Criar uma nova imagem a partir das alterações de um contêiner |
cp |
contêiner cp |
Copiar arquivos/pastas entre um contêiner e o sistema de arquivos local |
criar |
criação de contêineres |
Criar um novo contêiner |
diferença |
diferença de contêiner |
Inspecionar alterações no sistema de arquivos de um contêiner |
eventos |
eventos do sistema |
Obter eventos em tempo real do servidor |
executar |
execução de contêineres |
Executar um comando em um contêiner em execução |
exportação |
exportação de contêineres |
Exportar o sistema de arquivos de um contêiner como um arquivo tar |
histórico |
histórico de imagens |
Mostrar o histórico de uma imagem |
imagens |
imagem ls |
Listar imagens |
importação |
importação de imagens |
Importar o conteúdo de um tarball para criar uma imagem do sistema de arquivos |
informações |
informações do sistema |
Exibir informações de todo o sistema |
inspecionar |
inspeção de contêineres |
Retornar informações de baixo nível sobre um contêiner, imagem ou tarefa |
matar |
eliminação de contêineres |
Eliminar um ou mais contêineres em execução |
carregar |
carregamento de imagens |
Carregar uma imagem de um arquivo tar ou STDIN |
login |
login |
Faça login em um registro do Docker. |
sair |
sair |
Faça logout de um registro do Docker. |
registros |
registros de contêineres |
Obter os registros de um contêiner |
rede |
rede |
Gerenciar redes do Docker |
nó |
nó |
Gerenciar nós do Docker Swarm |
pausa |
pausa no contêiner |
Pausar todos os processos em um ou mais contêineres |
porto |
porto de contêineres |
Listar mapeamentos de portas ou um mapeamento específico para o contêiner |
ps |
contêiner ls |
Listar contêineres |
puxar |
puxar imagem |
Extraia uma imagem ou um repositório de um registro |
empurrar |
envio de imagens |
Envie uma imagem ou um repositório para um registro |
renomear |
renomeação de contêineres |
Renomear um contêiner |
reiniciar |
reinicialização do contêiner |
Reiniciar um contêiner |
rm |
contêiner rm |
Remova um ou mais contêineres |
rmi |
imagem rm |
Remover uma ou mais imagens |
executar |
execução do contêiner |
Executar um comando em um novo contêiner |
salvar |
salvar imagem |
Salvar uma ou mais imagens em um arquivo tar (transmitido para STDOUT por padrão) |
pesquisa |
pesquisa |
Pesquisar imagens no Docker Hub |
serviço |
serviço |
Gerenciar serviços do Docker |
iniciar |
início do contêiner |
Iniciar um ou mais contêineres parados |
estatísticas |
Estatísticas de contêineres |
Exibir um fluxo ao vivo de estatísticas de uso de recursos do(s) contêiner(es) |
parar |
parada do contêiner |
Interromper um ou mais contêineres em execução |
enxame |
enxame |
Gerenciar o Docker Swarm |
etiqueta |
tag de imagem |
Marcar uma imagem em um repositório |
superior |
tampa do contêiner |
Exibir os processos em execução de um contêiner |
cancelar a pausa |
pausa do contêiner |
Cancelar a pausa de todos os processos em um ou mais contêineres |
atualização |
Atualização do contêiner |
Atualizar a configuração de um ou mais contêineres |
versão |
versão |
Mostrar as informações da versão do Docker |
volume |
volume |
Gerenciar volumes do Docker |
esperar |
espera do contêiner |
Bloqueie até que um contêiner pare e, em seguida, imprima seu código de saída |
Registre-se para Encontro on-line do Docker no dia 25 de fevereiro às 10h PST para obter mais detalhes sobre o Docker 1.13.
Use o Docker para Mac ou Windows para começar a usar o Docker 1.13.
E, é claro, você pode saber mais sobre como executar Couchbase em contêineres.