Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL w Dockerze zamrożony w konfiguracji hasła roota

Przyjęta odpowiedź może być prawdziwa w pewnym abstrakcyjnym sensie, ale jest całkowicie nieistotna w rozpatrywanej sprawie. Potrzebujesz sposobu na statyczne określenie hasła. I chyba że używasz oficjalnego obrazu , będziesz tego potrzebować bez względu na to, czy postępujesz zgodnie z dogmatem „jeden proces, jeden kontener”.

Odpowiedź tutaj mówi jak, ale pomija kluczowe ustawienie:nadal musisz powiedzieć debconf aby użyć Nieinteraktywny front-end, jak opisano tutaj .

Oto przykład działającego pliku Dockerfile w oparciu o powyższe.

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

Nie różni się to zbytnio od tego, co oficjalne Dockerfile tak - chociaż obsługują one rzeczywistą konfigurację hasła nieco inaczej.

Niektórym ludziom udało się ustawienie DEBIAN_FRONTEND zmienna środowiskowa na nieinteraktywna , jak tak:

ENV DEBIAN_FRONTEND noninteractive

Jednak wydaje się, że to nie działa we wszystkich przypadkach. Korzystanie z debconf bezpośrednio okazał się dla mnie bardziej niezawodny.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Knex.js — jak zaktualizować pole za pomocą wyrażenia

  2. Zapytanie Mysql nie używa indeksu, gdy istnieją zmienne w WHERE

  3. USUŃ wszystkie zduplikowane tematy z kilkoma warunkami

  4. Operacja typu Pivot MySQL, aby uzyskać podział procentu wszystkich zdarzeń dziennie według typu zdarzenia

  5. Zamiennik dla PEAR:MDB2 na PHP 5.3