Índice
1.2.yum instalar janela de encaixe
1.3.Docker iniciar e parar operações
1.4.Alteração da fonte da imagem Docker
1.5. Verifique a imagem de inicialização do Docker
2.1 Operações relacionadas ao espelho
2.2 Operações relacionadas a contêineres
Ver mapeamentos de portas de rede de contêineres
Iniciar/parar/reiniciar contêiner
1. Instalação do Docker
1.1. Pré-requisitos
Docker é suportado apenas pelo kernel na distribuição CentOS.
O Docker é executado no CentOS 7, que requer que o sistema seja de 64 bits e a versão do kernel do sistema seja 3.10 ou superior.
Docker é executado em CentOS-6.5 ou superior, o que requer que o sistema seja de 64 bits e a versão do kernel do sistema seja 2.6.32-431 ou superior.
Use uname -r
para visualizar a versão atual do kernel do sistema. A versão demo atual é CentOS7.
uname -r
1.2.yum instalar janela de encaixe
CentOS vem com Docker e pode ser instalado diretamente.
yum -y install docker
Após a conclusão da instalação, conforme mostrado na figura abaixo
1.3.Docker iniciar e parar operações
#启动Docker
systemctl start docker
#停止Docker
systemctl stop docker
#重启Docker
systemctl restart docker
#查看Docker运行状态
systemctl status docker
#查看Docker版本
docker version
1.4.Alteração da fonte da imagem Docker
Crie ou modifique o arquivo /etc/docker/daemon.json para o seguinte formato
vim /etc/docker/daemon.json
Modifique o arquivo daemon.json para a origem do espelho doméstico, atualmente definida como origem do espelho NetEase
{"registry-mirrors": ["http://hub-mirror.c.163.com"] }
Recarregue o arquivo de configuração e reinicie o Docker
#重载配置文件
systemctl daemon-reload
#重启docker
systemctl restart docker
Em anexo está o endereço de aceleração doméstica:
- Imagem oficial do Docker China—— https://registry.docker-cn.com
- NetEase—— http://hub-mirror.c.163.com
- USTC—— https://docker.mirrors.ustc.edu.cn
- Universidade de Ciência e Tecnologia da China - https://docker.mirrors.ustc.edu.cn
- Nuvem Alibaba - https://cr.console.aliyun.com/
1.5. Verifique a imagem de inicialização do Docker
docker run hello-world
Como não há imagem hello-world localmente, uma imagem hello-world será baixada e executada no contêiner.
2. Operações comuns do Docker
2.1 Operações relacionadas ao espelho
-
Listar imagens
docker images
Descrição do parâmetro
REPOSTITÓRIO: Representa a origem do warehouse da imagem
TAG: A tag da imagem
ID DA IMAGEM: ID da imagem
CRIADO: hora de criação da imagem
TAMANHO: Tamanho da imagem
-
Encontre uma imagem
Sintaxe docker search [OPTIONS] , como encontrar nginx
docker search nginx
Descrição do parâmetro
- NAME: O nome da origem do armazém espelho
- DESCRIÇÃO: Descrição da imagem
- ESTRELAS: Número de curtidas/coleções
- OFICIAL: O docker foi lançado oficialmente?
- AUTOMATIZADO: Construído automaticamente.
-
Extrair imagem
Sintaxe docker pull [OPTIONS] , como puxar nginx, puxar a imagem da versão padrão (a primeira no topo da consulta padrão)
docker pull nginx
Se precisar especificar uma versão ou imagem especificada, você poderá extraí-la com base na versão ou imagem especificada.
#拉取指定版本镜像
docker pull nginx:1.18
#拉取指定镜像,参数即search的NAME
docker pull docker.io/bitnami/nginx
-
Definir rótulo de imagem
Tag docker de sintaxe SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG] para adicionar uma nova tag à imagem
docker tag 9c7a54a9a43c hello-world.test
-
Excluir imagem
Sintaxe docker rmi [OPTIONS] IMAGE [IMAGE...] , exclua uma ou mais imagens, o parâmetro pode ser ID da imagem ou NAMES, várias imagens são separadas por espaços
Quando o parâmetro é REPOSTITORY, o REPOSTITORY com o mesmo nome será excluído por padrão. Se você precisar excluir a versão especificada, adicione o número da versão.
Quando o parâmetro for IMAGE ID, a imagem especificada será excluída diretamente.
2.2 Operações relacionadas a contêineres
-
Faça um recipiente
Sintaxe docker run [OPTIONS] IMAGE [COMMAND] [ARG...] , crie um novo contêiner através do comando run
Crie um nginx com porta 80
#简易启动一个nginx
docker run -p 80:80 -d nginx
Descrição das opções comuns
-d, --detach=false, especifica se o contêiner é executado em primeiro ou segundo plano, o padrão é false
-i, --interactive=false, abre STDIN para interação do console
-t, --tty=false, aloca dispositivos tty , Isso pode suportar login de terminal, o padrão é false
-u, --user="", especifique o usuário do contêiner
-a, --attach=[], faça login no contêiner (deve ser um contêiner iniciado com docker execute -d)
-w, --workdir="", especifique o diretório de trabalho do contêiner
-c, --cpu-shares=0, defina o peso da CPU do contêiner, use
-e, --env=[] no Cenário de compartilhamento de CPU, especifique variáveis de ambiente, que podem ser usadas no contêiner Use esta variável de ambiente
-m, --memory="", especifique o limite de memória do contêiner
-P, --publish-all=false, especifique a porta exposta pelo contêiner
-p, --publish=[], especifique a porta exposta pelo contêiner
-h, --hostname="", especifique o nome do host do contêiner
-v, --volume=[], monte o volume de armazenamento para o contêiner, monte-o em um diretório do contêiner
--volumes-from=[], dê O contêiner monta volumes em outros contêineres, monta-os em um diretório no contêiner
--cap-add=[], e adiciona permissões. Para uma lista detalhada de permissões, consulte: http://linux.die.net/man/7/capabilities
- -cap-drop=[], exclua permissões. Para uma lista detalhada de permissões, consulte: http: //linux.die.net/man/7/capabilities
--cidfile="", após executar o contêiner, escreva o valor PID do contêiner no arquivo especificado, um uso típico do sistema de monitoramento
--cpuset="", defina quais CPUs o contêiner pode usar, este parâmetro pode ser usado pelo contêiner para monopolizar a CPU
--device=[], adicione o dispositivo host ao contêiner, o que equivale à passagem do dispositivo
--dns=[], especifique o servidor DNS do contêiner
--dns-search=[], especifique o nome de domínio de pesquisa DNS do contêiner e grave-o no arquivo /etc/resolv.conf do contêiner
--entrypoint="", substitua o ponto de entrada da imagem
--env-file=[], especifique a variável de ambiente arquivo, o formato do arquivo é uma variável de ambiente por linha
--expose=[], especifique a porta exposta do contêiner, ou seja, modifique a porta exposta da imagem
--link=[], especifique a associação entre contêineres, use o IP , env e outras informações de outros contêineres
--lxc-conf=[], especifique o arquivo de configuração do contêiner, somente quando especificado Use --name="" quando --exec-driver=lxc
, especifique o nome do contêiner. Você posteriormente, você pode usar o nome para gerenciar o contêiner. O recurso de links requer o nome
--net="bridge". Configurações de rede do contêiner:
a ponte é especificada usando o daemon do docker. Bridge
host //O contêiner usa a rede do host
container:NAME_or_ID >/ /Usa a rede de outros containers, compartilhando recursos de rede como IP e PORT
nenhum O container usa sua própria rede (semelhante a --net=bridge), mas não a configura
--privileged=false, especifica se o contêiner é um contêiner privilegiado e se o contêiner privilegiado tem todos os recursos
--restart="no", especifica a estratégia de reinicialização após o contêiner ser interrompido:
não: não reinicie quando o contêiner sair
em -failure: o contêiner falha ao sair (sempre reinicia quando o valor de retorno é diferente de zero)
: sempre reinicia quando o contêiner sai
--rm = false, especifica que o contêiner será excluído automaticamente após parar (contêineres iniciados com docker run -d não são suportados)
--sig-proxy=true, definido por O proxy aceita e processa sinais, mas SIGCHLD, SIGSTOP e SIGKILL não podem ser proxy
-
Ver contêiner
Sintaxe docker ps [OPTIONS] , veja a lista de contêineres
#查看运行中的容器
docker ps
#查看所有容器
docker ps -a
Descrição do parâmetro
- ID DO CONTÊINER: ID do contêiner.
- IMAGEM: A imagem usada.
- COMANDO: O comando a ser executado ao iniciar o contêiner.
- CREATED: A hora de criação do contêiner.
- STATUS: Status do contêiner.
- Existem 7 estados:
criado (criado)
reiniciando (reiniciando)
em execução (em execução)
removendo (migrando)
pausado (pausado)
encerrado (parado)
morto (morto)- PORTAS: As informações da porta do container e o tipo de conexão utilizada (tcp\udp).
- NOMES: nomes de contêineres atribuídos automaticamente
-
Ver mapeamentos de portas de rede de contêineres
Sintaxe porta docker CONTAINER [PRIVATE_PORT[/PROTO]]
#根据容器名称查询映射端口
docker port nervous_feynman
#根据容器id查询映射端口
docker port 48de190154d9
-
Iniciar/parar/reiniciar contêiner
Iniciar /parar/reiniciar docker [OPTIONS] CONTAINER [CONTAINER...]
#根据容器id启停容器
docker stop 48de190154d9
docker start 48de190154d9
docker restart 48de190154d9
#根据容器NAMES启停容器
docker stop nervous_feynman
docker start nervous_feynman
docker restart nervous_feynman
-
Entre no contêiner
Sintaxe docker exec [OPTIONS] CONTAINER COMMAND [ARG...] , você só pode inserir o contêiner em execução
docker exec -it 48de190154d9 sh
#or
docker exec -it 48de190154d9 /bin/bash
Cada contêiner pode ser considerado uma máquina virtual, saída sai do contêiner
-
Ver registros de contêiner
Logs do Docker de sintaxe [OPÇÕES] CONTAINER
#根据容器id查询日志
docker logs 48de190154d9
#根据容器names查看日志
docker logs nervous_feynman
-
Excluir contêiner
Sintaxe docker rm [OPTIONS] CONTAINER [CONTAINER...] , exclua um ou mais contêineres, o parâmetro pode ser ID do contêiner ou NAMES, vários contêineres são separados por espaços
docker rm dfcf491e8547