Хотите узнать, как запустить несколько служб внутри контейнера Docker? В этом учебнике мы покажем вам все шаги, необходимые для выполнения нескольких служб внутри контейнера Docker на компьютере под управлением Ubuntu Linux.
Улунту 18,04
Улунту 19.10
Докер 19.03.6
В нашем примере один контейнер Docker будет работать с сервисом MyS’L и службой Apache.
Служба Apache будет слушать на порту TCP 80.
Услуга MyS’L будет слушать на порте TCP 3306.
Учебник Докер — Контейнер работает несколько услуг
Установите службу Docker.
Скачать изображение Докера Ubuntu из онлайн-репозитория.
Перечислите изображения Docker, установленные в вашей системе.
Вот вывод команды:
Запустите новый контейнер Ubuntu, используя это изображение Docker.
Теперь вы находитесь на контейнере командной строки.
В нашем примере изображение Ubuntu использовалось для запуска нового контейнера.
В нашем примере идентификатор контейнера 62f9adcafb62.
В нашем примере контейнер получил название MYCONTAINER.
Установите список необходимых пакетов.
Установите службу Apache.
Система попросит вас выбрать часовой пояс.
В нашем примере мы настроили часовой пояс в Америку, Сан-Паулу.
Установка сервиса MyS’L.
Изналивай файл конфигурации MyS’L под названием mysqld.cnf.
Внутри файла конфигурации найдите следующую строку.
Измените значение этой строки до 0.0.0.0.
Заполните обслуживание MyS’L вручную внутри контейнера.
Получите доступ к командной строке MyS’L.
Установите пароль для корневого пользователя MyS’L.
В нашем примере пароль корневого пользователя был установлен на kamisama123.
Создайте файл конфигурации под названием supervisord.conf.
Вот содержимое файла.
На корневом каталоге контейнера создайте сценарий под названием run.sh.
Вот содержимое файла.
Наверстуйте правильное разрешение файла.
Выйдите из командной строки контейнера.
Создайте изображение Docker на основе этого контейнера.
В нашем примере мы создали изображение Докера под названием MYIMAGE на основе контейнера под названием MYCONTAINER.
Запустите новый контейнер Docker с помощью созданного изображения.
Проверьте доступ к службе Apache.
Вот вывод команды:
Проверьте свой доступ к сервису MyS’L.
Вот вывод команды:
Поздравляю! Вы закончили создание изображения Docker, предлагая несколько услуг.