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