English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
O cliente Docker é muito simples, podemos inserir diretamente o comando docker para ver todas as opções de comando do cliente Docker.
w3codebox@w3codebox:~# docker
Pode-se usar o comando docker command --help Para obter uma compreensão mais profunda do uso do comando Docker específico.
Por exemplo, para verificar docker stats Uso específico do comando:
w3codebox@w3codebox:~# docker stats --help
Se não tivermos a imagem ubuntu localmente, podemos usar o comando docker pull para carregar a imagem ubuntu:
$ docker pull ubuntu
As seguintes instruções usam a imagem ubuntu para iniciar um contêiner, os parâmetros são para entrar no contêiner em modo de linha de comando:
$ docker run -it ubuntu /bin/bash
Descrição do parâmetro:
-i: operação interativa.
-t: terminal.
ubuntu: imagem ubuntu.
/bin/bashO que está após o nome da imagem é o comando, aqui queremos um Shell interativo, então usamos /bin/bash.
Para sair do terminal, insira diretamente exit:
root@ed09e4490c57:/# exit
Para verificar todos os contêineres, use o comando a seguir:
$ docker ps -a
Clique na imagem para ver a versão ampla:
Para reiniciar um contêiner parado, use o comando docker start:
$ docker start b750bbbcfd88
Em muitos cenários, esperamos que o serviço do docker funcione em segundo plano, podemos usar -O parâmetro d especifica o modo de execução do contêiner.
$ docker run -itd --name ubuntu-test ubuntu /bin/bash
Clique na imagem para ver a versão ampla:
Nota:com -O parâmetro d não entra no contêiner por padrão; para entrar no contêiner, você precisa usar a instrução docker exec(será explicado abaixo).
O comando para parar um contêiner é o seguinte:
$ docker stop <ID do contêiner>
Contêineres parados podem ser reiniciados com docker restart:
$ docker restart <ID do contêiner>
ao usar -d ao especificar os parâmetros, o contêiner entrará em modo de fundo. Neste momento, para entrar no contêiner, você pode usar as seguintes instruções:
docker attach
docker execRecomenda-se usar o comando docker exec, pois ele sai do terminal do contêiner sem interromper o contêiner.
Comando attach
A seguir está um exemplo de como usar o comando docker attach.
$ docker attach 1e560fca3906
Atenção: Se sair deste contêiner, causará o encerramento do contêiner.
Comando exec
A seguir está um exemplo de como usar o comando docker exec.
docker exec -it 243c32535da7 /bin/bash
Atenção: Se sair deste contêiner, o contêiner não será encerrado, é por isso que é recomendado que todos usem docker exec razão.
Mais detalhes sobre os parâmetros podem ser encontrados usando docker exec --Use o comando help para ver.
Exportar contêiner
Se quiser exportar um contêiner local, pode usar docker export Comando.
$ docker export 1e560fca3906 > ubuntu.tar
Exportar contêiner 1e560fca3906 Exportar snapshot para o arquivo local ubuntu.tar。
Dessa forma, exportará o snapshot do contêiner para o arquivo local.
Importar snapshot do contêiner
Pode usar docker import para importar novamente a partir do arquivo de snapshot do contêiner como imagem, o seguinte exemplo importa o arquivo de snapshot ubuntu.tar para a imagem test/ubuntu:v1:
$ cat docker/ubuntu.tar | docker import - test/ubuntu:v1
Além disso, também pode ser importado especificando um URL ou um diretório, por exemplo:
$ docker import http://example.com/exampleimage.tgz example/imagerepo
Uso para deletar contêiner docker rm Comando:
$ docker rm -f 1e560fca3906
Os seguintes comandos podem limpar todos os contêineres em estado de terminação.
$ docker container prune
O contêiner que executamos anteriormente não tem nenhum uso especial.
Vamos tentar construir uma aplicação web usando o docker a seguir.
Vamos executar um aplicativo Python Flask no contêiner docker para executar uma aplicação web.
w3codebox@w3codebox:~# docker pull training/webapp # Carregar o imagem w3codebox@w3codebox:~# docker run -d -P training/webapp python app.py
Descrição dos parâmetros:
-d:Deixar o contêiner em execução no plano de fundo.
-P:Mapear aleatoriamente os ports de rede internos do contêiner para o host que usamos.
使用 docker ps 来查看我们正在运行的容器:
w3codebox@w3codebox:~# docker ps CONTAINER ID IMAGE COMMAND ... PORTS d3d5e39ed9d3 training/webapp "python app.py" ... 0.0.0.0:32769->5000/tcp
Aqui há mais informações de porta.
PORTS 0.0.0.0:32769->5000/tcp
Docker abriu 5000 porta (porta padrão do Python Flask) mapeada para a porta do host 32769 .
Agora podemos acessar o aplicativo WEB pelo navegador
Também podemos acessar o aplicativo WEB através -p parâmetro para configurar uma porta diferente:
w3codebox@w3codebox:~$ docker run -d -p 5000:5000 training/webapp python app.py
docker psVer containers em execução
w3codebox@w3codebox:~# docker ps ID DO CONTAINER IMAGEM PORTS NOMES bf08b7f2cd89 training/webapp ... 0.0.0.0:5000->5000/tcp wizardly_chandrasekhar d3d5e39ed9d3 training/webapp ... 0.0.0.0:32769->5000/tcp xenodochial_hoov
interno do container 5000 porta mapeada para o nosso host local 5000 porta.
através docker ps o comando pode ver o mapeamento de portas do containerdocker também oferece outro atalho rápido docker portusando docker port pode ver qual porta específica do container (ID ou nome) está mapeada para a porta do host.
No topo, o ID do container do aplicativo WEB que criamos é bf08b7f2cd89 O nome é wizardly_chandrasekhar.
Eu posso usar docker port bf08b7f2cd89 ou docker port wizardly_chandrasekhar para ver a mapeamento de portas do container.
w3codebox@w3codebox:~$ docker port bf08b7f2cd89 5000/tcp -> 0.0.0.0:5000
w3codebox@w3codebox:~$ docker port wizardly_chandrasekhar 5000/tcp -> 0.0.0.0:5000
docker logs [ID ou nome] pode ver a saída padrão do container.
w3codebox@w3codebox:~$ docker logs -f bf08b7f2cd89 * Rodando em http://0.0.0.0:5000/ (Pressione CTRL+C para sair) 192.168.239.1 - - [09/Maio/2016 16:30:37] "GET / HTTP/1.1" 200 - 192.168.239.1 - - [09/Maio/2016 16:30:37] "GET /favicon.ico HTTP/1.1" 404 -
-f: deixe docker logs assim como usar tail -f para outputar a saída padrão do container.
Daqui em cima, podemos ver que o aplicativo está usando 5000 porta e ver o log de acesso da aplicação.
Também podemos usar docker top para ver os processos em execução dentro do container
w3codebox@w3codebox:~$ docker top wizardly_chandrasekhar UID PID PPID ... TEMPO CMD root 23245 23228 ... 00:00:00 python app.py
usar docker inspect para ver informações básicas do Docker. Ele retornará um arquivo JSON que registra a configuração e o estado do container Docker.
w3codebox@w3codebox:~$ docker inspect wizardly_chandrasekhar [ { "Id": "bf0"8b7f2cd897b5964943134aa6d373e355c286db9b9885b1f60b6e8f82b2b85", "Created": ""2018-09-17T01:41:26.174228707Z", "Path": "python", "Args": [ "app.py" ], "State": { "Status": "running", "Running": true, "Paused": false, "Restarting": false, "OOMKilled": false, "Dead": false, "Pid": 23245, "ExitCode": 0, "Error": "", "StartedAt": ""2018-09-17T01:41:26.494185806Z", "FinishedAt": "0001-01-01T00:00:00Z" } ......
w3codebox@w3codebox:~$ docker stop wizardly_chandrasekhar wizardly_chandrasekhar
Container parado, podemos usar o comando docker start para iniciá-lo.
w3codebox@w3codebox:~$ docker start wizardly_chandrasekhar wizardly_chandrasekhar
docker ps -l Consulta o último container criado:
# docker ps -l ID DO CONTAINER IMAGEM PORTS NOMES bf08b7f2cd89 training/webapp ... 0.0.0.0:5000->5000/tcp wizardly_chandrasekhar
Para containers em execução, podemos usar o comando docker restart para reiniciar.
Podemos usar o comando docker rm para remover containers não necessários
w3codebox@w3codebox:~$ docker rm wizardly_chandrasekhar wizardly_chandrasekhar
Ao remover um container, o container deve estar em estado de parada; caso contrário, será exibido o erro conforme abaixo
w3codebox@w3codebox:~$ docker rm wizardly_chandrasekhar Resposta de erro da daemon: Você não pode remover um container em execução bf08b7f2cd897b5964943134aa6d373e355c286db9b9885b1f60b6e8f82b2b85Parar o container antes de tentar remover ou remover forçadamente