Created
November 1, 2018 11:25
-
-
Save sixeyed/c3ae1fd8033b8208ad29458a56856e05 to your computer and use it in GitHub Desktop.
PowerShell profile with a Linux-style prompt and aliases for common Docker commands
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function Prompt(){ | |
$W = Split-Path -leaf -path (Get-Location) | |
$prompt = Write-Prompt "$($env:UserName)@$($env:ComputerName):" -ForegroundColor Green | |
$prompt += Write-Prompt $W -ForegroundColor DarkCyan | |
$prompt += Write-Prompt '>' | |
return ' ' | |
} | |
function Remove-StoppedContainers { | |
docker container rm $(docker container ls -q) | |
} | |
function Remove-AllContainers { | |
docker container rm -f $(docker container ls -aq) | |
} | |
function Get-ContainerIPAddress { | |
param ( | |
[string] $id | |
) | |
& docker inspect --format '{{ .NetworkSettings.Networks.nat.IPAddress }}' $id | |
} | |
function Add-ContainerIpToHosts { | |
param ( | |
[string] $name | |
) | |
$ip = docker inspect --format '{{ .NetworkSettings.Networks.nat.IPAddress }}' $name | |
$newEntry = "$ip $name #added by d2h# `r`n" | |
$path = 'C:\Windows\System32\drivers\etc\hosts' | |
$newEntry + (Get-Content $path -Raw) | Set-Content $path | |
} | |
Set-Alias drm Remove-StoppedContainers | |
Set-Alias drmf Remove-AllContainers | |
Set-Alias dip Get-ContainerIPAddress | |
Set-Alias d2h Add-ContainerIpToHosts |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The default for
rm
is to only remove stopped containers.