sql >> Databáze >  >> RDS >> Mysql

MySQL v Dockeru zamrzl v konfiguraci hesla root

Přijatá odpověď může být pravdivá v určitém abstraktním smyslu, ale je zcela irelevantní pro danou věc. Potřebujete způsob, jak zadat heslo staticky. A pokud nepoužíváte oficiální obrázek , budete to potřebovat bez ohledu na to, zda se budete řídit dogmatem „jeden proces, jeden kontejner“.

Odpověď zde říká jak, ale vynechává klíčové nastavení:stále musíte sdělit debconf k použití Neinteraktivní front-end, jak je popsáno zde .

Zde je příklad fungujícího Dockerfile na základě výše uvedeného.

FROM ubuntu:latest
MAINTAINER Jonathan Strange <[email protected]>
RUN apt-get update \
    && apt-get install -y apt-utils \                                           
    && { \
        echo debconf debconf/frontend select Noninteractive; \
        echo mysql-community-server mysql-community-server/data-dir \
            select ''; \
        echo mysql-community-server mysql-community-server/root-pass \
            password 'JohnUskglass'; \
        echo mysql-community-server mysql-community-server/re-root-pass \
            password 'JohnUskglass'; \
        echo mysql-community-server mysql-community-server/remove-test-db \
            select true; \
    } | debconf-set-selections \
    && apt-get install -y mysql-server apache2 python python-django \
        python-celery rabbitmq-server git

To se příliš neliší od toho, co code /code> ano -- i když se skutečnou konfigurací hesla nakládají poněkud jinak.

Někteří lidé dosáhli úspěchu díky nastavení DEBIAN_FRONTEND proměnná prostředí na neinteraktivní , asi takhle:

ENV DEBIAN_FRONTEND noninteractive

Zdá se však, že to nefunguje ve všech případech. Pomocí debconf přímo se pro mě ukázalo jako spolehlivější.



  1. Formátování čísel pomocí čárek v MariaDB

  2. Pokus o zablokování ActiveRecord3 znovu

  3. Jaký typ JOIN použít

  4. Jednoduchý výběrový dotaz MySQL je pomalý