96 lines
1.9 KiB
Bash
96 lines
1.9 KiB
Bash
# Show container's volumes.
|
|
# Usage: docker_volumes <CONTAINER>
|
|
function docker_volumes() {
|
|
docker inspect -f '{{ .Mounts }}' "${@}"
|
|
}
|
|
|
|
# Check if any container exited.
|
|
function docker_health() {
|
|
docker ps -a | grep Exited
|
|
}
|
|
|
|
# Find out container's IP address.
|
|
# Usage: docker_ip <CONTAINER>
|
|
function docker_ip() {
|
|
docker inspect -f '\'{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}'\' "${1}" | sed "s/^.//" | sed "s/.$//"
|
|
}
|
|
|
|
# Update all docker images.
|
|
function docker_update() {
|
|
docker images --format "{{.Repository}}:{{.Tag}}" | xargs -L1 docker pull
|
|
}
|
|
|
|
# Docker compose shortcut.
|
|
function dc() {
|
|
docker compose "${@}"
|
|
}
|
|
|
|
# Docker compose up.
|
|
# Usage: dcu [SERVICES]
|
|
function dcu() {
|
|
docker compose up -d "${@}"
|
|
}
|
|
|
|
# Docker compose down.
|
|
# Usage: dcd [SERVICES]
|
|
function dcd() {
|
|
docker compose down "${@}"
|
|
}
|
|
|
|
# Docker compose pull.
|
|
# Usage: dcp [SERVICES]
|
|
function dcp() {
|
|
docker compose pull "${@}"
|
|
}
|
|
|
|
# Docker compose logs.
|
|
# Usage: dcl [SERVICES]
|
|
function dcl() {
|
|
docker compose logs -f "${@}"
|
|
}
|
|
|
|
# Docker compose restart.
|
|
# Usage: dcr [SERVICES]
|
|
function dcr() {
|
|
docker compose restart "${@}"
|
|
}
|
|
|
|
# Docker compose stop.
|
|
# Usage: dcs [SERVICES]
|
|
function dcs() {
|
|
docker compose stop "${@}"
|
|
}
|
|
|
|
# Docker compose down & up specified services.
|
|
# Usage: dcdu [SERVICES]
|
|
function dcdu() {
|
|
dcd "${@}"
|
|
dcu "${@}"
|
|
}
|
|
|
|
# Docker compose pull & up specified services.
|
|
# Usage: dcpu [SERVICES]
|
|
function dcpu() {
|
|
dcp "${@}"
|
|
dcu "${@}"
|
|
}
|
|
|
|
# Docker compose up & attach to logs for specified services.
|
|
# Usage: dcul [SERVICES]
|
|
function dcul() {
|
|
dcu "${@}" && dcl "${@}"
|
|
}
|
|
|
|
# Autocomplete with available services.
|
|
function _dc_services() {
|
|
_autocomplete "$(docker compose config --services 2>/dev/null)"
|
|
}
|
|
|
|
# Autocomplete with available container names.
|
|
function _dc_containers() {
|
|
_autocomplete "$(docker ps --format '"'{{.Names}}"\"")"
|
|
}
|
|
|
|
complete -F _dc_services dcu dcd dcp dcl dcul dcdu dcr dcs dcpu
|
|
complete -F _dc_containers docker_volumes docker_ip
|