Docker — разное
Содержание
Docker — разное#
Полезные ссылки#
Установка docker#
Для CentOS 8:
dnf config-manager \
--add-repo=https://download.docker.com/linux/centos/docker-ce.repo
dnf install docker-ce
Для других версий:
vim /etc/yum.repos.d/docker.repo
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://download.docker.com/linux/centos/8/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg
yum install docker-ce docker-ce-cli containerd.io
В конце обязательно включить автозапуск сервиса:
systemctl enable --now docker
Установка docker-compose#
Из репозитория докера (плагин для докера):
dnf install docker-compose-plugin
vim ~/.bashrc
# Добавим в .bashrc alias для вызова docker-compose
# ниже приведённого комментария
#
# User specific aliases and functions
alias docker-compose='/usr/libexec/docker/cli-plugins/docker-compose'
Классический docker-compose:
curl -L \
"https://github.com/docker/compose/releases/download/1.29.1/docker-compose-$(uname -s)-$(uname -m)" \
-o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
Установка ctop#
curl -L -o /usr/local/bin/ctop \
https://github.com/bcicen/ctop/releases/download/v0.7.5/ctop-0.7.5-linux-amd64
chmod +x /usr/local/bin/ctop
ln -s /usr/local/bin/ctop /bin/ctop
Создание пользователя для Docker#
useradd --create-home --base-dir /opt --shell /sbin/nologin \
--groups docker docker_user --comment docker_user
Docker networking#
Создание сети overlay#
docker network create \
--driver=overlay --subnet=10.11.0.0/16 \
--gateway=10.11.0.2 --attachable \
app-net
Смена адресов ingress#
docker login в Harbor#
Команда для логина в registry (Harbor) с использованием файла с токеном:
cat .harbor_token | docker login \
--username robot\$prod --password-stdin \
registry.appworks.ru
Docker registry (не Harbor)#
Команда для запуска:
docker run -d \
-p 5000:5000 \
--restart=always \
--name registry \
-v /srv/registry/cert/:/certs \
-e REGISTRY_HTTP_ADDR=0.0.0.0:5000 \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/registry.crt \
-e REGISTRY_HTTP_TLS_KEY=/certs/registry.key \
registry:2
Дамп логов#
Удобная команда для дампа логов службы сворма в текстовый файл:
MY_NAME=postcards2020_worker; \
MY_TIME=20m; \
sudo docker service logs --since ${MY_TIME} \
${MY_NAME} > ${MY_NAME}_`date +%F_%H-%M-%S`_${MY_TIME}.log 2>&1 \
### dump_logs
- MY_NAME
имя службы
- MY_TIME
с какого момента нужны логи:
можно относительное:
5m== с 5 минут назад и до текущего момента;можно абсолютное:
2021-08-21T13:00:00
Сначала задаём файл для вывода, затем 2>&1 – перенаправляем stderr в
текущее значение stdout, то есть в заданный ранее файл. Порядок важен,
наоборот не сработает!
- ### dump_logs
комментарий в конце позволит легко найти команду в bash history для повторного использования.
Исправление проблемы ядра 240 - отключение tx-checksum#
Note
Вероятнее всего, данная проблема была специфична для виртуальных машин VMWare.
nmcli con modify ens192 \
ethtool.feature-tx-checksum-ip-generic off && \
nmcli con up ens192
Такой вариант (через nmcli) — сохраняется после перезагрузок. Обычный
ethtool — не сохраняется, нужно добавлять в init скрипты.
Проверить текущее состояние:
ethtool -k ens192 | grep tx-checksum