{ ... }: { text = '' # Show container's volumes. # Usage: docker_volumes 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 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 ''; }