Я уже искал идеи для своей проблемы, но я не нашел ничего, что мог бы использовать. У меня есть файл докеров с MySql & Apache2, и я хочу, чтобы они запускались, когда контейнер запускался слишком, но я не могу сделать это в файле docker с CMD
или ENTRYPOINT
, потому что я хочу поместить tail
, чтобы сохранить мой контейнер в живых, и я хочу быть в состоянии перейти в режиме bash непосредственно с run -it container bash
, и если я положу хвост в скрипте или CMD/ENTRYPOINT
, это невозможно.Запуск службы при запуске контейнера
Я пытался запустить свои услуги с update-rc.d
, но он не работает на всех ...
Я попытался начать MySql & Apache2 с помощью сценария с ENTRYPOINT
и поставить tail
с CMD
, но я думаю, что это невозможно после того, как много попытки с дифферентом dockerfile и сценарием ...
Вот мой dockerfile:
###
# Dockerfile db MySql
###
###
# Image
###
FROM debian:jessie
###
# Volume
###
VOLUME /usr/projet/volumes/volume_db
###
# Proxy & installations
###
RUN export http_proxy="myproxy:port" \
&& export https_proxy="myproxy:port" \
&& apt-get update \
&& apt-get install -y vim \
&& echo "mysql-server mysql-server/root_password select root" | debconf-set-selections \
&& echo "mysql-server mysql-server/root_password_again select root" | debconf-set-selections \
&& apt-get install -y mysql-server \
&& apt-get install -y mysql-client \
&& service mysql start \
#&& service mysql stop \
&& echo "phpmyadmin phpmyadmin/dbconfig-install boolean true" | debconf-set-selections \
&& echo "phpmyadmin phpmyadmin/app-password-confirm password root" | debconf-set-selections \
&& echo "phpmyadmin phpmyadmin/mysql/admin-user string root" | debconf-set-selections \
&& echo "phpmyadmin phpmyadmin/mysql/admin-pass password root" | debconf-set-selections \
&& echo "phpmyadmin phpmyadmin/mysql/app-pass password root" | debconf-set-selections \
&& echo "phpmyadmin phpmyadmin/reconfigure-webserver multiselect apache2" | debconf-set-selections \
&& apt-get install -y phpmyadmin\
&& apt-get autoremove --purge
###
# Script startup
###
#COPY script_start /etc/init.d/
RUN update-rc.d apache2 defaults \
&& update-rc.d mysql defaults
###
# Variable env
###
ENV MYSQL_ROOT_PASSWORD=root
###
###
# Port exposition & cmd
###
EXPOSE 3306 80
CMD tail -F -n0 /etc/hosts
и мой сценарий:
#!/bin/bash
### BEGIN INIT INFO
# Provides: script_start
# Required-Start: $local_fs $syslog
# Required-Stop: $local_fs $syslog
# Default-Start: 2
# Default-Stop:
# Short-Description: Boot services mysql apache2
# Description: Boot services
### END INIT INFO
service mysql start \
&& service apache2 start
Надеюсь, вы понимаете, чего я хочу, и я не делал слишком много языковых ошибок (fr).
Спасибо за вашу помощь :)