English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Explicação detalhada dos comandos básicos do Docker

conceitos básicos do docker

O Docker é um motor de contêineres de código aberto que permite aos desenvolvedores empacotar suas aplicações e dependências em um contêiner portátil e depois publicá-las em qualquer máquina Linux popular.

O Docker é uma plataforma aberta que redefine os processos de desenvolvimento, teste, entrega e implementação de programas, onde o Docker pode ser chamado de 'construa uma vez, execute em qualquer lugar', isso é o que o Docker propõe como 'Build once, Run anywhere'

criar imagem

Existem três métodos para criar imagens:

criar com base em um container existente

Importação baseada em modelo local

Baseado no dockerfile

criar com base em um container existente

O comando docker commit é amplamente utilizado, sua forma é:

docker commit [OPÇÕES] CONTAINER [REPOSITÓRIO[:tag]] inclui principalmente:

-a ,--author="" informações do autor
-m,--message="" mensagem de commit
-p,--pause=true pausar o container ao commit

por exemplo:

# docker run -it centos /bin/bash
[root@d7e7ac1cbca2 /]# touch test
[root@d7e7ac1cbca2 /]# ls 
anaconda-post.log bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys test tmp usr var
# docker commit -m "add a file" -a "kafeikele" de6 centos_copy
5d318afa9e6f7fdb755db97e29e3860b752f24b0b50e6bfa0b7e457450802c0e
# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
centos_copy latest 5d318afa9e6f 13 segundos atrás 196.7 MB

Importação baseada em modelo local

Recomenda-se usar os modelos fornecidos pelo openVZ para criar

https://openvz.org/Download/templates/precreated
#cat centos-7-x86_64-minimal.tar.gz.crdownload | docker import - centos:latest

Exportação e importação de imagens

# docker images
centos 7.1.1503 47a77536ad4c 8 semanas atrás 212.1 MB
# docker save -o centos_7.1.tar centos:7.1.1503 
# docker load --input centos_7.1.tar
# docker load < centos_7.1.tar

Baseado no dockerfile

O conteúdo subsequente é详细介绍

Executando o primeiro contêiner docker

# docker run centos echo "hello world"
Não foi possível encontrar a imagem 'centos:latest' localmente
latest: Puxando de centos
47d44cb6f252: Puxado completo
168a69b62202: Puxado completo
812e9d9d677f: Puxamento completo
4234bfdd88f8: Puxado completo
ce20c473cd8a: Puxamento completo
centos:latest: A imagem que você está puxando foi verificada. Importante: a verificação da imagem é uma funcionalidade de pré-visualização técnica e não deve ser confiada para fornecer
segurança.
Digest: sha256:3aaab9f1297db9b013063c781cfe901e2aa6e7e334c1d1f4df12f25ce356f2e5
Status: Imagem mais recente baixada para centos:latest
hello world

Descrição do comando:

docker run: comando padrão de início de contêiner

centos: o nome da imagem, o padrão é latest

echo e o conteúdo posterior: o comando executado após o início do contêiner

Iniciar um contêiner interativo

docker run -it centos /bin/bash

*Nota:-a opção "t" indica um terminal falso ou terminal no contêiner-a opção "i" permite que interajamos com o STDIN do contêiner

Iniciar um contêiner docker como serviço

Se você realmente testar, provavelmente também descobriu, o primeiro contêiner "hello world" sai após executar o comando echo, enquanto o segundo contêiner interativo sai apenas quando o usuário sai do bash do contêiner atual. Isso claramente não atende aos requisitos de um serviço que precisa rodar por um longo período de tempo, então o docker run oferece '-a opção "d' permite iniciar o contêiner como daemon.

docker run -d centos /bin/bash -c "while true; do echo Docker,hello world; sleep 2; <br>179fc7f17c358834364d23112aa26d6a9e1875b2281563720425f62a8f1b5c33

Esta longa string é chamada de ID do contêiner. É a identificação única do contêiner, então podemos usá-lo para operar o contêiner, como verificar os logs, parar ou excluir o contêiner, etc.

dock logs 179fc7f17c358834364d

E por que usar um loop infinito para output?

Porque, se não for um loop infinito, o processo dentro do contêiner termina após uma saída. Quando todos os processos únicos do contêiner terminam, o contêiner para. Portanto, se você quiser executar um serviço específico dentro do contêiner, esse serviço também deve ser executado em modo de daemon dentro do contêiner.

docker run [OPÇÕES] IMAGEM [COMANDO] [ARG...]

Opções principais:

-d : Executar o contêiner em modo de fundo
-t : Fornecer um terminal falso
-i : Fornecer entrada interativa, geralmente com a opção "-a opção "t" juntos, se apenas fornecer:-a opção "i", o contêiner não pode ser encerrado após o início
-v : Mapear um volume para o contêiner, por exemplo: -p /data/www:/var/www/html
-p : Mapear a porta do contêiner para o host, por exemplo: -p 8080:80

Mais comandos de operação

# docker images Lista todas as imagens locais
# docker search centos Procura por imagens no repositório padrão
NOME DESCRICAO ESTRELA OFICIAL AUTOMATICO
centos A construção oficial do CentOS. 2767 [OK] 
ansible/centos7-ansible Ansible no CentOS7 90 [OK]
jdeathe/centos-ssh CentOS-6 6.8 x86_64 / CentOS-7 7.2.1511 x8... 42 [OK]
jdeathe/centos-ssh-apache-php CentOS-6 6.8 x86_64 - Apache / PHP / PHP M... 21 [OK]
nimmis/java-centos Estas são imagens do Docker do CentOS 7 com dif... 17 [OK]
consol/centos-xfce-vnc Container CentOS com "sem cabeça" sessão VNC... 14 [OK]
#docker pull centos Baixa a imagem para o local
#docker create -it ubuntu:latest Cria um container
Impossível encontrar a imagem 'ubuntu:latest' localmente
latest: Puxando de ubuntu
58488e45273c: Puxado completo 
25810b66099e: Puxado completo 
6571ba684f54: Puxado completo 
6ed49a73d8f0: Puxado completo 
c53777cbfc31: Puxado completo 
56465e1e45d2: Puxado completo 
Digest: sha256:312986132029d622ae65423ca25d3a3cf4510de25c47b05b6819d61e2e2b5420
Status: Baixado a nova imagem para ubuntu:latest
1330233e50aba7fca99e5914bd28dd89321bc86ec35fb36b4775d3424337c190
O comando docker create cria containers em estado de parada, que precisam ser iniciados com docker start
# docker ps -a
CONTAINER ID IMAGEM COMANDO CRIADO STATUS PORTOS NOMES
1330233e50ab ubuntu:latest "/bin/bash" A cerca de um minuto atrás happy_engelbart
O comando docker run é equivalente a executar primeiro o comando docker create, e em seguida, executar o comando docker start
# docker run ubuntu /bin/echo "hello world"
hello world

Entre no container

Método um:

# docker attach a54615a88787 Seguido pelo nome ou id do container, o container docker sai após a saída, não usado com frequência

Método dois:

# docker exec -it a54615a88787 /bin/bash seguido pelo nome ou id do container

Método três:

yum -y install util-linux
# docker inspect --format "{{.State.Pid}}" stupefied_cray ao final é o nome do container
4899
# nsenter --target 4899 --mount --uts --ipc --net --pid

script

#!/bin/bash
CNAME=$1
CPID=$(docker inspect --format "{{.State.Pid}}" $CNAME)
nsenter --target $CPID --mount --uts --ipc --net –pid

Os comandos básicos do Docker介绍的如下,希望对大家有所帮助。如有任何疑问,请留言,我会及时回复。在此,也非常感谢大家对呐喊教程网站的支持!

Declaração: O conteúdo deste artigo é extraído da Internet, pertence ao respectivo proprietário, é contribuído e carregado voluntariamente pelos usuários da Internet, este site não possui direitos de propriedade, não foi editado manualmente e não assume responsabilidade por eventuais responsabilidades legais. Se você encontrar conteúdo suspeito de violação de direitos autorais, bem-vindo a enviar e-mail para: notice#oldtoolbag.com (ao enviar e-mail, substitua # por @ para denunciar e forneça provas relevantes. Aparentemente, o site deletará o conteúdo suspeito de violação de direitos autorais imediatamente.

Você também pode gostar