mirror of
https://github.com/DictXiong/dotfiles.git
synced 2024-11-24 09:07:04 +08:00
scripts: docker scripts (#26)
* dogo/doll dogo supports zsh/bash/sh; doll is introduced to launch a new docker container; update $SUDO in command.sh * update ci * fix regex * dogo: enhance, support -[0-9]* * dogo&doll: enhanced * zshrc: sibd and sob
This commit is contained in:
parent
995899f3a3
commit
6e33fc0875
2
.zshrc2
2
.zshrc2
|
@ -89,6 +89,8 @@ alias "se"='sudo -sE'
|
||||||
alias "pbd"='ping baidu.com'
|
alias "pbd"='ping baidu.com'
|
||||||
alias "p114"='ping 114.114.114.114'
|
alias "p114"='ping 114.114.114.114'
|
||||||
alias "p666"='ping6 2001:da8::666'
|
alias "p666"='ping6 2001:da8::666'
|
||||||
|
sibd() {ssh -p 12022 root@$1${1:+.}ibd.ink}
|
||||||
|
sob() {ssh -p 24022 root@$1${1:+.}ob.ac.cn}
|
||||||
case $(bash "$DOTFILES/tools/common.sh" get_os_type) in
|
case $(bash "$DOTFILES/tools/common.sh" get_os_type) in
|
||||||
macos ) alias l='ls -lAGh -D "%y-%m-%d %H:%M"' ;;
|
macos ) alias l='ls -lAGh -D "%y-%m-%d %H:%M"' ;;
|
||||||
* ) alias l='ls -lAGh --time-style="+%y-%m-%d %H:%M"' ;;
|
* ) alias l='ls -lAGh --time-style="+%y-%m-%d %H:%M"' ;;
|
||||||
|
|
26
scripts/dogo
26
scripts/dogo
|
@ -3,8 +3,28 @@
|
||||||
THIS_DIR=$( cd "$( dirname "${BASH_SOURCE[0]:-${(%):-%x}}" )" && pwd )
|
THIS_DIR=$( cd "$( dirname "${BASH_SOURCE[0]:-${(%):-%x}}" )" && pwd )
|
||||||
source "$THIS_DIR/../tools/common.sh"
|
source "$THIS_DIR/../tools/common.sh"
|
||||||
|
|
||||||
if [[ -z "$1" || "$1" =~ "-h|--help" ]]; then
|
DOCKER_FORMAT="{{.ID}} {{.Image}} {{.Names}}"
|
||||||
fmt_info "usage: dogo <container>"
|
if [[ -z "$1" || "$1" =~ ^(-h|--help)$ ]]; then
|
||||||
|
fmt_info "usage: $0 <container> or -[0-9]*"
|
||||||
|
exit
|
||||||
|
elif [[ "$1" =~ ^-[0-9]*$ ]]; then
|
||||||
|
LAST="${1:1}"
|
||||||
|
if [[ "$LAST" == "0" ]]; then
|
||||||
|
# the latest running container
|
||||||
|
CONTAINER_META=($($SUDO docker container ls -l --filter "status=running" --format "$DOCKER_FORMAT"))
|
||||||
|
else
|
||||||
|
# the last nth container (all status)
|
||||||
|
CONTAINER_META=($($SUDO docker container ls -n ${LAST:-1} --format "$DOCKER_FORMAT" | tail -n 1))
|
||||||
|
fi
|
||||||
|
CONTAINER=${CONTAINER_META[0]}
|
||||||
else
|
else
|
||||||
$SUDO docker exec -it $1 zsh
|
CONTAINER_META="$1"
|
||||||
|
CONTAINER="$1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z "$CONTAINER" ]]; then
|
||||||
|
fmt_error "container not found"
|
||||||
|
else
|
||||||
|
echo "--> ${CONTAINER_META[@]}"
|
||||||
|
$SUDO docker exec -it $CONTAINER sh -c 'if [ -x "$(command -v zsh)" ]; then echo "--> zsh"; zsh; elif [ -x "$(command -v bash)" ]; then echo "--> bash"; bash; else echo "--> sh"; sh; fi'
|
||||||
fi
|
fi
|
||||||
|
|
25
scripts/doll
Executable file
25
scripts/doll
Executable file
|
@ -0,0 +1,25 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
THIS_DIR=$( cd "$( dirname "${BASH_SOURCE[0]:-${(%):-%x}}" )" && pwd )
|
||||||
|
source "$THIS_DIR/../tools/common.sh"
|
||||||
|
|
||||||
|
DOCKER_FORMAT="{{.ID}} {{.Repository}}:{{.Tag}}"
|
||||||
|
if [[ -z "$1" || "$1" =~ ^(-h|--help)$ ]]; then
|
||||||
|
fmt_info "usage: $0 <image> or -[0-9]*"
|
||||||
|
exit
|
||||||
|
elif [[ "$1" =~ ^-[0-9]*$ ]]; then
|
||||||
|
LAST="${1:1}"
|
||||||
|
# the last nth image
|
||||||
|
IMAGE_META=($($SUDO docker image ls --format "$DOCKER_FORMAT" | head -n ${LAST:-1} | tail -n 1))
|
||||||
|
IMAGE=${IMAGE_META[0]}
|
||||||
|
else
|
||||||
|
IMAGE_META="$1"
|
||||||
|
IMAGE="$1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z "$IMAGE" ]]; then
|
||||||
|
fmt_error "image not found"
|
||||||
|
else
|
||||||
|
echo "--> ${IMAGE_META[@]}"
|
||||||
|
echo $SUDO docker run -itd $IMAGE sh
|
||||||
|
fi
|
|
@ -4,7 +4,7 @@ THIS_DIR_COMMON_SH=$( cd "$( dirname "${BASH_SOURCE[0]:-${(%):-%x}}" )" && pwd )
|
||||||
export DOTFILES=$( cd "$THIS_DIR_COMMON_SH/.." && pwd )
|
export DOTFILES=$( cd "$THIS_DIR_COMMON_SH/.." && pwd )
|
||||||
|
|
||||||
SUDO=''
|
SUDO=''
|
||||||
if (( $EUID != 0 )); then
|
if [[ "$EUID" != "0" && -x $(command -v sudo) ]]; then
|
||||||
SUDO='sudo'
|
SUDO='sudo'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,7 @@ set_mirror()
|
||||||
pacman_S()
|
pacman_S()
|
||||||
{
|
{
|
||||||
pacman -Syu
|
pacman -Syu
|
||||||
pacman -S tmux git zsh curl vim wget base-devel mingw-w64-x86_64-toolchain make cmake gcc zip unzip python3 python3-pip
|
pacman -S tmux git zsh curl vim wget base-devel mingw-w64-x86_64-toolchain make cmake gcc zip unzip python3 python3-pip man-pages-posix
|
||||||
}
|
}
|
||||||
|
|
||||||
router()
|
router()
|
||||||
|
|
|
@ -20,6 +20,7 @@ dfs log 1
|
||||||
z ~
|
z ~
|
||||||
test ~ -ef "$(pwd)"
|
test ~ -ef "$(pwd)"
|
||||||
dogo
|
dogo
|
||||||
|
doll
|
||||||
dfs cd
|
dfs cd
|
||||||
tools/common.sh get_os_type
|
tools/common.sh get_os_type
|
||||||
tools/common.sh get_linux_dist
|
tools/common.sh get_linux_dist
|
||||||
|
|
Loading…
Reference in New Issue
Block a user