sql >> Databasteknik >  >> RDS >> Mysql

MySQL i Docker fryst vid root-lösenordskonfiguration

Det accepterade svaret kan vara sant i någon abstrakt mening, men det är helt irrelevant för den aktuella frågan. Du behöver ett sätt att ange lösenordet statiskt. Och såvida du inte använder den officiella bilden , du behöver det oavsett om du följer "en process, en behållare" dogmen eller inte.

Svaret här berättar hur, men det utelämnar en nyckelinställning:du måste fortfarande berätta för debconf för att använda den Icke-interaktiva front-end, som beskrivs här .

Här är ett exempel på en fungerande Dockerfile baserat på ovanstående.

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

Detta skiljer sig inte så mycket från vad official e /kod> gör -- även om de hanterar den faktiska lösenordskonfigurationen något annorlunda.

Vissa personer har haft framgång genom att ställa in DEBIAN_FRONTEND miljövariabel till icke-interaktiv , som så:

ENV DEBIAN_FRONTEND noninteractive

Det verkar dock inte fungera i alla fall. Använder debconf direkt har visat sig vara mer tillförlitlig för mig.



  1. MySQL använder inte index när man frågar över BIT-fält med hjälp av bitvisa funktioner

  2. Hur fungerar PHP/MySQL-databasfrågor exakt?

  3. MySQL-konverteringsfunktion

  4. 5 bra skäl att ladda ner och använda Microsoft Access-mallar