LINUX.ORG.RU
ФорумAdmin

Установка Plesk Panel 12 в Docker контейнер

 ,


0

1

Нужна помощь по настройке docker контейнера для plesk panel 12.

сделал контейнер на основе phusion/baseimage

docker run -p 8443:8443  -d phusion/baseimage:latest /sbin/my_init
далее
apt-get update 
apt-get install wget
и по инструкции запустил установку
wget -O - http://autoinstall.plesk.com/one-click-installer | sh
во время установки показывал ошибки
Warning!
Unable to detect the fully qualified domain name of the host.
Please make sure that FQDN of the host is correctly specified in /etc/hosts and goes right after the host's IP address
(depending on your OS, you might need to set the host name in /etc/HOSTNAME or /etc/hostname).

Setting it to localhost.localdomain
Trying to resolve hostname 'localhost.localdomain' and validate its IP address...
Unable to resolve host name.
Please specify the host name in the /etc/hosts file or specify DNS configuration in the /etc/resolv.conf on your system.
прописал /etc/hosts
172.17.0.2      host dc4fd80fccdc
127.0.0.1       localhost localhost.localdomain localhost4  localhost4.localdomain4
::1     localhost localhost.localdomain localhost6[br] localhost6.localdomain6 ip6-localhost ip6-loopback[br]
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

после установка продолжилась и далее показал

Trying to establish test connection... ERROR 2002 (HY000): Can't connect to local MySQL server through socket  '/var/run/mysqld/mysqld.sock' (2)
failed
Trying to establish test connection... Could not open required defaults file: /root/.my.cnf
Fatal error in defaults handling. Program aborted
failed
One more attempt to connect

ERROR while trying to establish test connection. If you are installing Plesk on an already configured MySQL server, you need to specify the administrator's credentials to succeed with the installation. To do this, you need to create a file - /root/.my.cnf with the 'client' section where you need to provide user and its password ("user = $admin_name" and "password = $admin_pass"). After installation is finished, the file /root/.my.cnf will be renamed to /root/.my.cnf.bak
Check the error reason(see log file: [br]/var/log/plesk/install/plesk_12.5.30_installation.log), fix and try again

Создал файл /root/.my.cnf

[client]
user = root
password = пустой, т.к. запущен в докере.
далее
/etc/init.d/mysql restart
далее вылезло вот такое
Triggering myisam-recover for all MyISAM tables
и зависло
на это забил и запустил установку еще раз.
plesk panel установилась, но опять же ругнулась на настройки dns.
WARNING!
Some problems are found during create reverse DNS zone - there is error during utility '/opt/psa/admin/sbin/mk_reverse_zone' execution, please fix the problem and run it again.(see log file: /var/log/plesk/install/plesk_12.5.30_installation.log)

В итоге сейчас с хоста пробую запустить
# curl 0.0.0.0:8443
<html>
<head><title>302 Found</title></head>
<body bgcolor="white">
<center><h1>302 Found</h1></center>
<hr><center>nginx</center>
</body>
</html>

Что дальше делать?

Ответ на: комментарий от dvrts

Ок, согласен. Попробую. Но все же нужна консультация по настройкам dns и вообще буду признателен за любой совет.

Там apache вроде бы срабатывает, но панель что не взлетает?

chapaevartem
() автор топика
Ответ на: комментарий от chapaevartem

В общем вопрос установки решился тем что нашел image plesk/plesk:12.5
На гитхабе https://github.com/plesk/docker
Просто ставишь и уже все работает из коробки. Но в процессе изучения темы и практики увидел, что демон с плеском падает через некоторое время после запуска.
И все же пересобрал на базе того же phusion/baseimage (который в себе уже содержит runit ) , на основании Докерфайла от производителя https://github.com/plesk/docker/blob/master/12.5/Dockerfile

Изменил по сути, то что рекомендуют phusion

# Use phusion/baseimage as base image. To make your builds reproducible, make
# sure you lock down to a specific version, not to `latest`!
# See https://github.com/phusion/baseimage-docker/blob/master/Changelog.md for
# a list of version numbers.
FROM phusion/baseimage:<VERSION>

# Use baseimage-docker's init system.
CMD ["/sbin/my_init"]

# ...put your own build instructions here...

#ADD run.sh /run.sh # - вместо этого 
ADD run.sh /etc/my_init.d/run.sh # - это

CMD /sbin/my_init # и запуск

# Clean up APT when done.
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

После сборки все запустилось заработало, но остались вопросы по запуску и настройке дата-контейнеров.

chapaevartem
() автор топика
Ответ на: комментарий от chapaevartem

доп вопросы:

1. запускаю демона

docker run --restart=always  -d -p 8880:8880 --volumes-from plesk-data --name plesk-work  username/plesk-work /sbin/my_init

создается контейнер plesk-work и когда я останавливаю этого демона, контейнер plesk-work остается и причем в запущенном виде, т.е. его можно остановить и удалить потом.

docker stop plesk-work
docker rm plesk-work

Вопрос в том как повторно запустить демона из этого контейнера plesk-work ?

docker inspect plesk-work показывает что в нем сохранились настройки запуска демона (-p 8880:8880 --volumes-from plesk-data --name plesk-work username/plesk-work /sbin/my_init)
Т.е. можно как-то запускать демона из этого контейнера с сохраненными параметрами? Как?

2. Возможно ли как то прописать --volumes-from в Докерфайле?
-v понятно VOLUME , а --volumes-from не нашел.

chapaevartem
() автор топика
Ответ на: доп вопросы: от chapaevartem

Причем флаг --restart=always работает и после перезагрузки докера он запустил демона plesk-work с той же конфигурацией. Но как руками запустить его из сохраненного контейнера пока не понял.

chapaevartem
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.