07.11.2018
Написал плейбук для создания нового сервера для небольших сайтов на хостинге https://vscale.io.
Работает следующим образом:
- Запускаете, спрашивает название скейлета на хостинге.
- Спрашивает путь к репозиторию, клонирует его локально.
- Создает новый сервак на хостинге, заходит на него, устанавливает докер и его зависимости.
- Копирует туда указанную в
vars.yml
директорию.
- Выполняет команду
docker-compose up -d
на сервере.
Найти последнюю версию можно здесь https://github.com/crusat/ansible_vscale_new_server, также прикрепил здесь версию на момент создания статьи.
devops
docker
24.05.2018
Для начала надо скачать все модули, которые перечислены в requirements.txt. Проще всего через докер.
$ docker run -it --rm --name my -v "$PWD":/tmp/pip_cache python:3.6 pip download -r /tmp/pip_cache/requirements.txt -d /tmp/pip_cache/
Обратите внимание на версию. Тут используется 3.6 - она должна совпадать с той версией питона, который установлен на сервере. Иначе Pillow, psycopg2 и т.п. скомпилированные модули не поставятся.
Затем можно залить их и установить с помощью такой команды:
$ pip install -r requirements.txt -f /path/to/pip/cache/ --no-index
Все, после этого можно использовать.
copypaste
python
25.01.2017
Команда
docker stats $(docker ps|grep -v "NAMES"|awk '{ print $NF }'|tr "\n" " ")
Пример результата
CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
some_app_1 0.15% 247.1 MiB / 488.4 MiB 50.59% 3.71 kB / 2.88 kB 146 MB / 19.4 MB 37
portainer_app_1 0.00% 4.402 MiB / 488.4 MiB 0.90% 1.8 MB / 7.69 MB 22 MB / 65.5 kB 5
crusatru_app_1 0.00% 1.637 MiB / 488.4 MiB 0.34% 455 kB / 381 kB 7.42 MB / 0 B 2
copypaste
docker
25.01.2017
Остановить все контейнеры
docker stop $(docker ps -a -q)
Удалить все контейнеры
docker rm $(docker ps -a -q)
Удалить все образы
docker rmi $(docker images -q)
Все сразу (остановить и удалить все контейнеры и образы)
docker stop $(docker ps -a -q); docker rm $(docker ps -a -q); docker rmi $(docker images -q)
copypaste
docker
25.01.2017
Установка docker и docker-compose в одну строку на Linux (должен быть установлен curl
).
sudo apt-get update; sudo apt-get install ca-certificates curl gnupg; sudo install -m 0755 -d /etc/apt/keyrings; curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg; sudo chmod a+r /etc/apt/keyrings/docker.gpg; echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null; sudo apt-get update; sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Проверяем:
sudo docker run hello-world
Старый скрипт:
apt update; apt upgrade -y; apt install -y curl; curl -sSL https://get.docker.com/ | sh; curl -L https://github.com/docker/compose/releases/download/1.28.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
bash
copypaste
docker
linux