
##
## Платформа для установки и развертывания ПО контейнерезации
## Docker-CE (Docker Engine - Community)
##

Описание      : Docker-CE (Docker Engine - Community) - ПО, представляющее собой
                набор интегрированных технологий и решений для создания, использования и запуска
                прикладных приложений.

Лицензирование: Распространяется под лицензией Apache 2.0.
                Более подробную информация о лицензировании и авторских правах
                смотрите на соответствующем сайте https://www.docker.com/legal/components-licenses.


Структура каталогов:

/opt
  |- /dks-docker-ce-20.10.11
      |- /sh
         |- dks_file_install.sh     - вспомогательный скрипт установки
         |- dks_file_remove.sh      - вспомогательный скрипт деинсталляции
         |- docker-20.10.11.tgz      - архив с бинарнами файлами Docker-CE (Docker Engine - Community)

      |- LICENSE                    - файл лицензии
      |- info.sh                    - скрипт просмотра информации
      |- install.sh                 - основной скрипт установки
      |- readme.txt                 - описание
      |- uninstall.sh               - основной скрипт деинсталляции


Основные команды и действия:

Внимание! Все команды выполнять с правами суперпользователя.

1) Установка Docker-CE (Docker Engine - Community).
   Выполняется запуском скрипта:
   $ bash ./install.sh
   или
   $ sudo bash /opt/dks-docker-ce-20.10.11/install.sh

   Примечание: Если в процессе инсталляции обнаружится, что уже установлена
               версия Docker-CE (Docker Engine - Community), операция
               установки будет прервана. Т.о. для инсталляции текущей версии
               нужно будет предварительно деинсталлировать версию,
               уже установленную на хосте.


2) Просмотр версии установленного Docker-CE (Docker Engine - Community).
   Выполняется запуском скрипта:
   $ bash ./info.sh
   или
   $ sudo bash /opt/dks-docker-ce-20.10.11/info.sh

   В результате работы показывается полная информация о версии ПО
   и информация о статусе развернутого сервиса docker.service

3) Удаление Docker-CE (Docker Engine - Community).
   Выполняется запуском скрипта:
   $ bash ./uninstall.sh
   или
   $ sudo bash /opt/dks-docker-ce-20.10.11/uninstall.sh

   Примечание: Если во время деинсталляции обнаружится существование хотя бы
               одного контейнера в docker, то процесс будет прерван. Для 
               принудительного удаления, без проверки контейнеров
               используйте параметр force: 

              $ bash ./uninstall.sh -f



Для различных дистрибутивов Linux, возможны следующие проблемы:

1) При запуске контейнера в докере получаем такую ошибку.
   docker: Error response from daemon: OCI runtime create failed: container_linux.go:345: starting container process caused "process_linux.go:430: 
   container init caused \"write /proc/self/attr/keycreate: permission denied\"": unknown.
   ERRO[0000] error waiting for container: context canceled.

   Решение:
    a) Отключить Selinux
       идем в файл /etc/selinux/config, ставим SELINUX=Disabled
       перезагружаем хост: reboot now

    б) Перевести Selinux в разрешительный режим
       идем в файл /etc/selinux/config, ставим SELINUX=Permissive
       перезагружаем хост: reboot now

    d) Если Selinux все-таки нужно оставить в режиме Enforcing,
       то можно попробовать разрешить работу контейнеров docker
       используя утилиты:
       - setsebool -P docker_transition_unconfined 1
       - semanage permissive -a container_runtime_t
       Перед использованием убедиться, что соответствующие пакеты установлены.

     В частности, для операционной системы Oracle Linux Server release 7.7
   для стабильной работы рекомендуется использовать варианты а) или б), т.к.
   при включенном Selinux происходит "зависание" демона dockerd.

2) После установки, default bridge networks ip "перебивает" ip адрес хоста.
   В данном случае вариантом решения может быть переопределение default bridge networks ip.
   Для этого необходимо выполнить деинсталяцию, если была выполнена установка,
   и затем выполнить установку с указанием необходимлого значения параметра -bip, например:

   $ bash ./install.sh -bip "192.168.1.5/24"

   Более подробно о docker bridge networks описано здесь: https://docs.docker.com/network/bridge/




