Folha de referências do Docker para Windows

Esses scripts são compatíveis com Docker 1.12 e Docker para Windows.

Eu mantenho esta folha de dicas atualizada no meu blog aqui .

Habilite o modo de enxame:

docker swarm init

Crie uma rede de sobreposição personalizada:

$network = "network_name"
docker network create
--driver overlay $network

Crie e inicie um serviço usando uma rede de sobreposição personalizada:

$service = "service_name"
$network
= "network_name"
$image
= "image_name"
$replicas
= 5
docker service create
--name $service --network $network --replicas $replicas $image

Inicie um serviço e exponha uma porta no sistema host:

$service = "service_name"
$network
= "network_name"
$image
= "image_name"
$hostPort
= 8080
$servicePort
= 80
docker service create
--name $service --network $network --publish ${hostPort}:${servicePort} $image

# test port
Start-Sleep -s 5
Test-NetConnection -ComputerName "10.0.75.2" -Port $hostPort -InformationLevel "Detailed"

Inicie um serviço e monte um diretório de sistema local:

$service = "service_name"
$image
= "image_name"
$hostDir
= "/c/users/docker/data"
$serviceDir
= "/data"
docker service create
--mount type=bind,src=$hostDir,dst=$serviceDir --name $service $image

Liste todos os serviços correspondentes:

$service = "service_name_part"
docker service ls
--filter name=$service

Obtenha estatísticas de CPU, memória, rede e IO para todas as instâncias em execução de um serviço swarm:

$service = "service_name"
docker stats $
(docker ps -q -f "name=$service") --no-stream

Obtenha a lista de IP virtual de todas as instâncias em execução de um serviço swarm:

$service = "service_name"
docker inspect
--format='{{.Name}}{{range .NetworkSettings.Networks}} IP: {{.IPAMConfig.IPv4Address}} {{end}}' $(docker ps -q -f "name=$service")

Obtenha o IP virtual de todas as instâncias em execução de um serviço swarm para uma rede de sobreposição específica:

$service = "service_name"
$network
= "network_name"
$template
= '{{.Name}}{{with index .NetworkSettings.Networks "' + $network + '""}} {{.IPAddress}}{{end}}'
docker inspect
-f $template $(docker ps -q -f ""name=$service"")

Obtenha a lista de volumes de todas as instâncias em execução de um serviço swarm:

$service = ""service_name""
docker inspect
--format '{{.Name}}{{range .Mounts}} Source: {{.Source}} Destination: {{.Destination}}{{end}}' $(docker ps -q -f ""name=$service"")

Remova todas as instâncias de um serviço swarm que não estão em execução:

$service = ""service_name""
docker rm $
(docker ps -a -q -f ""name=$service"" -f ""status=exited"")

Atualize um serviço:

$service = ""service_name""
$image
= ""image_name""
docker service update
--image $image $service

Pare um serviço:

$service = ""service_name""
docker service scale $
{service}=0

Remova um serviço:

$service = ""service_name""
docker service rm $service

Remova todos os contêineres parados:

docker rm $(docker ps -a -q -f ""status=exited"")

Remova as imagens não marcadas:

docker rmi $(docker images -q -f ""dangling=true"")

Remova os volumes órfãos:

docker volume rm $(docker volume ls -q -f ""dangling=true"")

Pare e remova todos os contêineres por nome de imagem ou ID de imagem:

$image = ""image_name""
docker rm $
(docker stop $(docker ps -a -q -f ""ancestor=$image""))