docker clear

Combo:

1
2
3
4
5
6
# Most popular modern way to clean
docker system prune
# same but all images and volumes
docker system prune --volumes --all
# say "yes" automatically
echo 'y' | docker system prune

I encountered btrfs problems: docker says it has no volumes, but in fact
they exists. I want delete all btrfs volumes with word docker in path
limited by 400 pcs for run:

1
sudo btrfs subvolume delete --commit-each --verbose $(sudo btrfs subvolume list / | grep docker | awk '{ print "/"$9 }' | head -n 400)

Old fashion way:

1
2
3
4
5
6
7
8
9
10
# Delete all containers with volumes; Usefull for gitlab-ci
docker rm -v $(docker ps -a -q)
# Delete all exited containers with volumes
docker rm -v $(docker ps -a -q --filter status='exited')
# Delete all images
docker rmi $(docker images -q)
# Clear images without tags or names..
docker rmi $(docker images | grep '^<none>' | awk '{print $3}')
# Remove old volumes
docker volume rm $(docker volume ls -qf dangling=true)

docker ++

докер позволяет сделать пару полезных вещей

всем рекомендую читать мануал, но вот пример, на многие случаи жизни

docker run -p 3000:3000 -it –rm –name shatel-node-dev -v “$PWD”:/usr/src/myapp -w /usr/src/myapp –user=33:$(id -g) -e HOME=/usr/src/myapp node-full-shatel env

разберём эту прекрасную строчку детальней

Read More

tmux

раньше я описывал screen - консольный враппер над терминалами, очень полезный, гибкий, но не достаточно. там же я описал как работать с хоткеями.

обязательно учим хоткеи - это таже самая замечательная статья, очень рекомендую читать man tmux там описано всё. внизу есть самое необходимое - примеры.

Read More

eslint disable

Вот так можно выключить конкретное правило

1
2
3
4
// eslint-disable-next-line no-use-before-define
result.queries = queries;
result.queries = queries; // eslint-disable-line no-use-before-define

Когда пишут так:

1
result.queries = queries; // eslint-disable-line

то выключают все проверки, и это точно не нужно

Вот так можно выключить проверку во всём файле

1
2
/* eslint no-process-env: "off" */
/* eslint no-process-exit: "off" */

И важно помнить, что конфиги .eslintrc наследует из родительских папок

ssh с сервера на сервер

ssh -t server1 ssh user2@94.153.165.5 -p 2222

-t - Force pseudo-terminal allocation. This can be used to execute arbitrary screen-based programs on a remote machine, which can be very useful, e.g. when implementing menu services. Multiple -t options force tty allocation, even if ssh has no local tty.

server1 - где выполнить команду

ssh -t tomePC echo -e “\n” && id

  • зайти на tomePC и выполнить там некие команды echo -e “\n” && id

ssh -t tomePC ssh delta echo -e “\n” && id

-зайти на tomePC зайти на delta ну и там уже выполнить всякое

user2@94.153.165.5 -p 2222 - выполняется на server1 другое подключение по айпи 94.153.165.5 с портом 2222

p.s. есть ещё ssh форвардинг, он менее безопасный, но очень удобен

по теме ssh