I2pd docker
Установка и настройка i2pd через контейнеризацию Docker[править]
Получение образа Docker[править]
Есть два варианта получения образа. Самостоятельная сборка образа и загрузка из регистра hub.docker.com
Через регистр hub.docker.com[править]
Просто выполните в cli:
docker pull purplei2p/i2pd:latest
Проверьте что образ загрузился:
docker image ls
Самостоятельная компиляци i2pd и сборка образа Docker[править]
Загрузите репозиторий i2pd:
git clone https://github.com/PurpleI2P/i2pd.git
Переместите каталог с Dockerfile
в ваш рабочий каталог:
mv ./i2pd/contrib/docker ./
Перейдите в него:
cd ./docker
Запустите сборку и компиляцию:
docker buildx build -t i2pd:latest .
Проверьте наличие образа:
docker image ls
Создание файла конфигурации compose[править]
Для запуска конетейнера при помощи compose файла, можно воспользоваться этой конфигурацией. При запуске будет создан volume
под именем *i2pd*.
docker-compose.yml
:
version: '3.9' networks: i2pd: name: i2pd volumes: i2pd: name: i2pd services: i2pd: image: i2pd:latest container_name: i2pd restart: unless-stopped ports: - "127.0.0.1:7070:7070/tcp" - "127.0.0.1:4444:4444/tcp" - "127.0.0.1:4447:4447/tcp" - "127.0.0.1:7650:7650/tcp" networks: - i2pd volumes: - /etc/localtime:/etc/localtime:ro - i2pd:/home/i2pd/data
Создайте рабочий каталог в котором будет хранится файл docker-compose.yml
:
mkdir /opt/i2pd-dockerized && cd /opt/i2pd-dockerized
Создайте в нем файл docker-compose.yml
и скопируйте в него конфиг приведенный выше:
touch /opt/i2pd-dockerized/docker-compose.yml
Запуск контейнера через compose[править]
Запустите контейнер находясь в рабочем каталоге:
docker compose up -d
Проверка работоспособности контейнера[править]
Удостоверьтесь что контейнер в рабочем состоянии:
docker stats
При необходимости посмотрите логи:
docker compose logs i2pd
Проверьте что у вас локально прослушиваются порты которые были проброшены из контейнера:
ss -tnl src :7070 ss -tnl src :4444 ss -tnl src :4447
Зайдите на web консоль управления через браузер:
http://127.0.0.1:7070/
Управление контейнером[править]
Остановка:
docker compose stop
Удаление:
docker compose down
Редактирование конфигурации:
vim /var/lib/docker/volumes/i2pd/_data/i2pd.conf
Обновление контейнера i2pd[править]
Остановите и удалите контейнер командой:
docker compose down
Удалите старый образ:
docker image rm i2pd:latest
Загрузите новый образ c hub.docker.com:
docker pull i2pd:latest
Либо пересобрите образ как описывалось выше.
Создайте новый контейнер и запустите его:
docker compose up -d
Если вы использовали конфигурацию compose из примера выше, то все данные такие как *netDb* и файлы конфигураций сохранятся, так как они находятся на именованном volume *i2pd*:
docker volume ls