تحت سينتوس 7 ، وأنا أفهم أننا نتحرك من mysql-server
إلى ماريادب متوافق مع التنفيذ. أنا باستخدام صورة عامل الميناء من centos:latest
، الذي يضعني تحت رعاية سينتوس 7.
mysqld_safe
يدير حظر في المقدمة. هذا يجعل الأمر سهلا: أنا فقط بحاجة إلى 0) تثبيت الحزمة 1) تغيير كلمة مرور الجذر و 2) تشغيل خادم من داخل Dockerfile
في نموذج عامل الميناء ، لأنني بحاجة إلى أن تكون قادرة على تثبيت ماريادب كما لو كان في برنامج نصي باش. لقد وجدت طرقا مختلفة للقيام بذلك باستخدام aptitude
تحت أوبونتو ولكن لم تجد إجابة مكافئة تحت yum
: كيف يمكنني تثبيت, تكوين وتشغيل ماريادب على سينت أو إس 7 كما لو كان يتم تثبيته عبر البرنامج النصي باش? mysql_secure_installation
يبدو أن تتطلب تي.
لقد حاولت تشغيل mysqladmin
أمر كلمة المرور يدويا ، ولكن الشكاوى أنه لا يمكن الاتصال مثيل الخلية قيد التشغيل. لأن يتم طرح الحاويات بعيدا بين الخطوات ، وأعتقد أنني بحاجة إلى تشغيل بطريقة أو بأخرى الخلية وتغيير كلمة المرور في نفس الخطوة.
لقد حاولت تثبيت initscripts
حزمة يحصل لي /bin/service
لكنه يحاول إعادة توجيه لي لاستخدام systemctl start mariadb.service
، وهو غير قابل للاستخدام لأن حاويات عامل الميناء تحصل على fakesystemd
و لا systemd
. أي أفكار?
وهنا بلدي البديل دوكيرفيل الحالي (في هذا واحد ، في محاولة ل tail -f
للحفاظ على عملية على قيد الحياة باعتبارها CMD
)
FROM centos:latestMAINTAINER Me (some@guy.com)RUN yum -y install wget epel-releaseRUN cd /usr/local/src && wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm && rpm -Uvh remi-*.rpm && rm remi-*.rpmRUN sed -i 's/enabled=0/enabled=1/' /etc/yum.repos.d/remi*.repoRUN cd /usr/local/src && wget http://apt.sw.be/redhat/el7/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm && rpm -Uvh rpmforge-*.rpm && rm rpmforge-*.rpmRUN rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txtRUN sed -i 's/enabled=0/enabled=1/' /etc/yum.repos.d/rpmforge*.repoRUN yum -y updateRUN yum -y upgrade# mysqlRUN yum -y install mariadb-serverRUN yum -y install initscriptsWORKDIR /usr#RUN echo "bind-address=0.0.0.0" >> /etc/my.cnfRUN /usr/bin/mysql_install_db --datadir="/var/lib/mysql" --user=mysqlRUN /usr/bin/mysqld_safe --datadir="/var/lib/mysql" --socket="/var/lib/mysql/mysql.sock" --user=mysql >/dev/null 2>&1 &RUN /usr/bin/mysqladmin -u root password SOMEPASSWORDCMD tail -f /var/log/mariadb/mariadb.logEXPOSE 3306
ذات صلة:
- تثبيت كتابتها من الخلية على أوبونتو
- https://askubuntu.com/questions/79257/how-do-i-install-mysql-without-a-password-prompt
- https://stackoverflow.com/questions/1202347/how-can-i-pass-a-password-from-a-bash-script-to-aptitude-for-installing-mysql
- https://stackoverflow.com/questions/7739645/install-mysql-on-ubuntu-without-password-prompt