Поиск

Найдены 15 статей по слову "docker"

Ansible Playbook для создания нового сервера на vscale.io

Написал плейбук для создания нового сервера для небольших сайтов на хостинге https://vscale.io.

Работает следующим образом:

  1. Запускаете, спрашивает название скейлета на хостинге.
  2. Спрашивает путь к репозиторию, клонирует его локально.
  3. Создает новый сервак на хостинге, заходит на него, устанавливает докер и его зависимости.
  4. Копирует туда указанную в vars.yml директорию.
  5. Выполняет команду docker-compose up -d на сервере.

Найти последнюю версию можно здесь https://github.com/crusat/ansible_vscale_new_server, также прикрепил здесь версию на момент создания статьи.

devops docker

Как установить модули python без интернета с помощью pip

Для начала надо скачать все модули, которые перечислены в 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

Реалтайм статистика в Docker

Команда

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

Остановка и удаление всех контейнеров (containers) и образов (images) в Docker

Остановить все контейнеры

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

Установка docker и docker-compose в одну строку

Установка 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