Verifique os comandos comuns do docker

1. Comandos comumente usados ​​do Docker

*Nota: No comando docker, o "nome" da imagem/contêiner é geralmente usado como equivalente ao "ID", que pode representar uma imagem/contêiner especificado, e é mencionado na descrição deste artigo [镜像名称/ID]. (ID pode ser abreviado se não houver ambigüidade, por exemplo, insira apenas os dois primeiros dígitos).

Nome da imagem ("Nome da imagem: número da versão" especifica a versão, se não for especificada, a versão mais recente :latest): python/python:3.9.16
ID da imagem (um Hash de 64 bits, geralmente apenas os primeiros 12 dígitos são exibidos, o ID do contêiner é semelhante): c65dadac8789
Nome do contêiner (isso geralmente é escolhido por você. Não há número de versão da imagem. Você pode adicionar o número da versão ao empacotar o contêiner em uma imagem):ContainerName

1. Espelho: Consultar/Puxar/Excluir (imagens/puxar/rm)

Consulte imagens (imagens docker)
para visualizar imagens do docker no sistema (arquivos de imagem que podem ser copiados, semelhantes aos CDs de instalação).

docker images -a

Após a conclusão da consulta, o sistema exibirá as imagens e informações atuais no sistema: nome da imagem, ID da imagem, horário de criação da imagem e outras informações.

Extraia a imagem (docker pull)

# docker pull [镜像名称/ID:tag]
docker pull python/python:3.9.16

Excluir imagem (docker image rm)

# docker image rm [镜像名称/ID]
docker image rm c65dadac8789
# docker rmi [镜像名称/ID]
docker rmi c65dadac8789

Precisa forçar exclusão e adição -f, por exemplo:

docker rmi -f c65dadac8789

excluirtodosEspelhar -asignifica mostrar tudo, -qou seja, mostrar apenas o ID.

docker rmi -f $(docker images -aq)

2. Contêiner: consultar/entrar/criar/excluir (ps/exec/run/rm)

Inicie um novo contêiner por meio da imagem do Docker.

docker run -itd -u root --name="ContainerName" -v /data:/data python/python:3.9.16 /bin/bash

Após a inicialização bem-sucedida, o código da string SHA de 64 bits do contêiner será exibido.
Consulte o contêiner (docker ps)
para visualizar todos os contêineres em execução (cada contêiner é semelhante a um sistema inicial), além de -aconsultar todos os contêineres em execução e pausados, sem adicionar -aapenas a consulta ao contêiner em execução.

docker ps -a

Insira o contêiner (docker exec)

# docker exec -it [容器名称/ID] /bin/bash
docker exec -it e66b5694a3bd /bin/bash

*Observação: o último aqui /bin/bashé a localização do programa no contêinerbash . Algumas imagens possuem apenas /bin/shou /bash. Se você não conseguir entrar no contêiner, tente mais.

Saia do container (exit)
e entre nele quando precisar sair do container exit.

# 直接退出  未添加 -d(持久化运行容器) 时 执行此参数 容器会被关闭
exit
# 优雅退出  无论是否添加 -d 参数 执行此命令容器都不会被关闭
Ctrl + q

Crie um contêiner (docker run)
para iniciar um novo contêiner por meio da imagem do docker.

docker run -itd -u root --name="ContainerName" -v /data:/data python/python:3.9.16 /bin/bash

Após a inicialização bem-sucedida, o código da string SHA de 64 bits do contêiner será exibido.

Excluir o contêiner (docker rm)
pode forçar a exclusão -f.

# docker rm -f [容器名称/ID]
docker rm -f e66b5694a3bd

IterarExcluir tudoContainer, -aque significa exibir tudo, -qou seja, exibir apenas o ID.

docker rm -f $(docker ps -aq)

O Docker rm excluirá os dados gerados quando o contêiner estiver em execução, mas o docker kill não.

docker kill e66b5694a3bd

3. Pausar/iniciar o contêiner (parar/iniciar)

O contêiner só pode começar a funcionar quando estiver no estado de inicialização (ativo). O contêiner será pausado após a reinicialização do docker ou poderá ser pausado/iniciado manualmente.
Pausar o contêiner (docker stop)

# docker stop [容器名称/ID]
docker stop e66b5694a3bd

Iniciar contêiner (docker start)

# docker start [容器名称/ID]
docker start e66b5694a3bd

Reinicie o contêiner (docker restart)

# docker restart [容器名称/ID]
docker restart e66b5694a3bd

4. Consulte o status de execução do contêiner (inspecione)

Visualizar todo o status do contêiner (docker inspecionar)
inspecionar para visualizar as informações de configuração do contêiner, incluindo nome do contêiner, variáveis ​​de ambiente, comandos em execução, configuração de host, configuração de rede e configuração de volume de dados.
Todas as informações são exibidas por padrão.

# docker inspect [容器名称/ID]
docker inspect Example

Se você deseja apenas determinadas informações

docker inspect --format='{
    
    {.NetworkSettings.IPAddress}}' Example
> 172.18.0.2

docker inspect --format '{
    
    {.Name}} {
    
    {.State.Running}}' Example
> /Example true

# 或
docker inspect Example |grep IPAddress
>             "SecondaryIPAddresses": null,
>             "IPAddress": "",
>                     "IPAddress": "172.18.0.2",

Visualize os parâmetros de uso de hardware do contêiner (estatísticas do docker)
Visualize as taxas de uso de CPU, memória, disco rígido, etc.

# docker stats [容器名称/ID]
docker stats Example

Visualize informações do processo no contêiner (docker top)

# docker top [容器名称/ID]
docker top Example
# 或
# docker exec [容器名称/ID] ps -ef
docker exec Example ps -ef

2. Inicialização do contêiner (uso docker run e docker-compose)

Para iniciar um contêiner a partir de uma imagem, você precisa do comando docker run ou do comando docker-compose.

1. uso de execução do docker e parâmetros relacionados

docker run -itd -u root --gpus='"device=0,1"' --name="ContainerName" -v /project/pytorch/data:/data pytorch_lightning:latest /bin/bash

Explicação detalhada dos parâmetros

parâmetro significado
-eu Execute o contêiner em modo interativo, geralmente com -t usando o interpretador de comandos
-t Reatribua um pseudo terminal de entrada ao contêiner, geralmente usado com -i
-d Execute o contêiner em segundo plano e retorne o ID do contêiner
--gpus='“dispositivo=0,1”' Especifique qual placa gráfica o contêiner pode usar (consulte).Se todas as placas gráficas puderem ser usadas, use o parâmetro **--gpus all**
-p 9922:22 Mapeie a porta 22 do contêiner para a porta 9922 do host, que é a porta para acessar o ssh
-v /projeto/pytorch/dados:/dados Monte o diretório container/data no diretório host/project/pytorch/data. Se este diretório não existir no host, ele será criado automaticamente.
--reiniciar sempre O contêiner é iniciado automaticamente quando o serviço docker é iniciado
--privilegiado = verdadeiro Deixe o contêiner obter permissões de root do host. Especifica se o contêiner é um contêiner privilegiado. Os contêineres privilegiados têm todas as permissões. O padrão é falso.
--name ContainerName Defina o nome do contêiner como ContainerName
gitlab/gitlab-ce O nome da imagem. Você também pode escrever o ID da imagem aqui.

2.Docker compõe uso e parâmetros de arquivo yml

https://blog.csdn.net/pushiqiang/article/details/78682323
https://baijiahao.baidu.com/s?id=1659023590103934059&wfr=spider&for=pc
https://blog.csdn.net/weixin_51560103/article/ detalhes/121492568
https://www.runoob.com/docker/docker-compose.html
https://zhuanlan.zhihu.com/p/51055141

3. Imagem da zona de pesquisa/pull e armazenamento de contêiner (pesquisa/pull)

1. Encontre a imagem necessária (usando docker-hub)

Pesquise docker hub no Baidu ou visite o site diretamente . Para economizar tempo, não colocarei fotos aqui.

https://hub.docker.com/

Há uma pesquisa no canto superior esquerdo do site. Você pode pesquisar imagens feitas por outras pessoas, extraí-las, modificá-las e usá-las. Você também pode criar seus próprios contêineres e enviá-los para a comunidade.
Se você pesquisar a palavra-chave pytorch1.7
aqui , verá os seguintes resultados

azraelkuan/pytorch1.7.1-hvd-apex-py38-cuda11.0-cudnn8
freddierao/pytorch1.7-hrnetcls-mpi-apex
siaimes/pytorch1.7
...

Você pode ver que a primeira imagem está marcada não apenas com a versão pytorch, mas também com as versões python e cuda, que correspondem à versão cuda do nosso servidor (a versão cuda do servidor deve ser superior ou igual à versão cuda na imagem), e pode ser puxado e usado.

docker também fornece pesquisa de linha de comando para imagens

docker search [镜像名称]
docker search --filter=STARS=9000 mysql 搜索 STARS >9000的 mysql 镜像

2. Extração de imagem (puxar)

Depois de clicar para entrar na página de descrição, você pode ver Visão geral no canto inferior esquerdo e Docker Pull Command no canto inferior direito. Clique na cópia do comando pull à direita para extrair a imagem do servidor.

# docker pull [镜像名称/ID]
docker pull siaimes/pytorch1.7

# 镜像名称后也可跟镜像的版本号,如最新版 :latest
docker pull siaimes/pytorch1.7:latest

Especifique a arquitetura.
Algumas imagens são multiarquitetura e serão marcadas no docker-hub, como x86 arm64.
Você pode adicionar parâmetros --platform arm64para especificar a imagem de arquitetura necessária.

docker pull --platform arm64 siaimes/pytorch1.7

3. Salvar e fazer upload de contêineres (confirmar/salvar/carregar)

Salve o contêiner como uma imagem (docker commit)
O contêiner que executamos pode ter algumas modificações com base na imagem. Às vezes queremos salvá-lo e encapsulá-lo em uma imagem atualizada. Neste momento, precisamos usar o comando commit para construir uma nova imagem.espelho

# docker commit -m="提交信息" -a="作者信息" [容器名称/ID] 提交后的镜像名:Tag
docker commit -m="a new image" -a="HZY" e66b5694a3bd SaveImage:1.0

Salve a imagem (docker save)

# docker save [镜像名称/ID] -o 镜像保存的位置与名字
docker save SaveImage -o ./myimg.tar

Carregue a imagem (docker load)
para carregar o arquivo e restaurá-lo como uma imagem

# docker load -i 镜像保存文件位置
docker load -i ./myimg.tar

4. Mais instruções de operação do docker

A cópia do arquivo contêiner (docker cp)
pode ser copiada independentemente de o contêiner estar aberto ou não.

#docker cp [容器名称/ID]:文件路径  要拷贝到外部的路径  |  要拷贝到外部的路径  [容器名称/ID]:文件路径
#从容器内 拷出
docker cp [容器名称/ID]:容器内路径  容器外路径
#从外部 拷贝文件到容器内
docker cp 容器外路径  [容器名称/ID]:容器内路径

Ver logs de contêiner (logs do Docker)

docker logs -f --tail=要查看末尾多少行(默认all) [容器名称/ID]

Alterar o nome do contêiner (renomear docker)

Dar ao contêiner um nome legal e dominador?

docker rename [容器名称/ID] 新容器名

Alterando a tag da imagem (docker tag)
Às vezes, precisamos classificar uma imagem ou realizar operações de iteração de versão. Por exemplo, um de nossos microsserviços foi marcado como uma imagem docker, mas queremos distingui-lo em um ambiente de desenvolvimento e um alfa ambiente de acordo com o ambiente. Neste momento, podemos usar Tag para adicionar uma tag à imagem para distingui-la, a lógica de iteração da versão é a mesma e é diferenciada de acordo com tags diferentes.

# docker tag 源镜像名:tag 想要生成新的镜像名:新的tag
docker tag source_image:1.0 target_image:new_tag-1.1

Exclua contêineres e imagens inúteis

#  删除异常停止的容器
docker rm `docker ps -a | grep Exited | awk '{print $1}'` 

#  删除名称或标签为none的镜像
docker rmi -f  `docker images | grep '<none>' | awk '{print $3}'`

Limpar todas as imagens usadas sem contêineres

Observe que este comando será excluído enquanto a imagem for usada sem contêiner (o contêiner estiver funcionando normalmente), inclusive quando o contêiner estiver temporariamente parado.

docker system prune -a

Verifique o uso geral do disco do docker

du -hs /var/lib/docker/ 

Verifique o uso específico do disco do Docker

docker system df

5. Comandos básicos do Docker

1. Iniciar/parar/reiniciar serviço docker (systemctl iniciar/parar/reiniciar docker)

Iniciar serviço docker

systemctl start docker

Fechar serviço docker

systemctl stop docker

Reinicie o serviço docker

systemctl restart docker

2. Configure o docker para iniciar automaticamente quando o serviço do sistema for iniciado

systemctl enable docker

3. Verifique as informações de status/versão em execução do docker

Verifique o status de execução do docker.
Se o docker estiver em execução, você poderá ver o verde ativo após inserir o comando.

systemctl status docker

Ver informações do número da versão do docker

docker version
docker info

6. Instruções de consulta de recursos relacionados

1.Docker verifica a localização do armazém de imagens

cd /var/lib/docker

Insira o diretório de imagem do docker.

2. localização do espelho de imagem

A pasta de imagens armazena o conteúdo da imagem

cd image/overlay2  # 有的是image/aufs  
cat repositories.json  # 查看镜像仓库内容

3. localização do contêiner

O conteúdo do contêiner é armazenado na pasta do contêiner

cd containers 
ls -l  # 查看容器列表

4. Processos de consulta e eliminação do Linux

Processo de consulta

ps -a

Mate o processo.
Adicione parâmetros -9para forçar o encerramento do processo.

kill -9 [进程PID]

5.nvidia-smi consulta placa gráfica e uso de recursos

Verifique o status da placa gráfica

nvidia-smi

Monitore o status da placa gráfica

watch -n 1 -d nvidia-smi

6.Outros comandos

netstat
netstat é um comando de console. É uma ferramenta muito útil para monitorar redes TCP/IP. Ele pode exibir a tabela de roteamento, conexões de rede reais e informações de status de cada dispositivo de interface de rede.

netstat -untlp

7. instalação do docker

1.instalação do docker
2.nvidiadocker
https://zhuanlan.zhihu.com/p/377537818?ivk_sa=1024320uVou
atualizá-lo mais tarde se ainda não tiver certeza.

Referências

Lista abrangente de comandos comuns do docker
O Docker constrói o servidor Gitlab (versão completa e detalhada)
Como verificar o status de execução do contêiner do docker
Qual é a diferença entre kill e rm no docker

O Docker especifica o uso de determinadas placas gráficas/determinadas GPUs.
Inicie o docker e a nvidia.
Verifique o caminho interno do volume do contêiner docker_docker
. O Docker verifica a localização do armazém de imagens.

Usando GPU no contêiner docker

Acho que você gosta

Origin blog.csdn.net/aiaidexiaji/article/details/126448915
Recomendado
Clasificación