
Ich habe die ENV-Variablen festgelegt, aber der Container gibt immer noch die Fehlermeldung aus, dass ich sie festlegen sollte.
Dies ist das Bild, das ich verwenden möchte:mysql-56-centos7.
Irgendwelche Vorschläge, wie man das beheben kann?
Docker-Datei:
FROM centos/mysql-56-centos7
ENV MYSQL_USER=root \
MYSQL_PASSWORD=test \
MYSQL_DATABASE=test \
MYSQL_DATA_DIR=/var/lib/mysql \
MYSQL_RUN_DIR=/run/mysqld \
MYSQL_LOG_DIR=/var/log/mysql
EXPOSE 3306/tcp
CMD ["run-mysqld"]
Folgendes ist der Fehler:
[root@centos1 test01]# docker container logs cf0245546d47
=> sourcing 20-validate-variables.sh ...
You must either specify the following environment variables:
MYSQL_USER (regex: '^[a-zA-Z0-9_]+$')
MYSQL_PASSWORD (regex: '^[a-zA-Z0-9_~!@#$%^&*()-=<>,.?;:|]+$')
MYSQL_DATABASE (regex: '^[a-zA-Z0-9_]+$')
Or the following environment variable:
MYSQL_ROOT_PASSWORD (regex: '^[a-zA-Z0-9_~!@#$%^&*()-=<>,.?;:|]+$')
Or both.
Optional Settings:
MYSQL_LOWER_CASE_TABLE_NAMES (default: 0)
MYSQL_LOG_QUERIES_ENABLED (default: 0)
MYSQL_MAX_CONNECTIONS (default: 151)
MYSQL_FT_MIN_WORD_LEN (default: 4)
MYSQL_FT_MAX_WORD_LEN (default: 20)
MYSQL_AIO (default: 1)
MYSQL_KEY_BUFFER_SIZE (default: 32M or 10% of available memory)
MYSQL_MAX_ALLOWED_PACKET (default: 200M)
MYSQL_TABLE_OPEN_CACHE (default: 400)
MYSQL_SORT_BUFFER_SIZE (default: 256K)
MYSQL_READ_BUFFER_SIZE (default: 8M or 5% of available memory)
MYSQL_INNODB_BUFFER_POOL_SIZE (default: 32M or 50% of available memory)
MYSQL_INNODB_LOG_FILE_SIZE (default: 8M or 15% of available memory)
MYSQL_INNODB_LOG_BUFFER_SIZE (default: 8M or 15% of available memory)
Antwort1
Um es kurz zu machen: Sie können dieses Image nicht als Root ausführen. In den meisten Fällen ist es keine gute Praxis, ein Docker-Image als Root auszuführen.
Versuchen Sie, es als anderer Benutzer auszuführen, und Sie können das Image ausführen.
Für weitere Einzelheiten verweise ich Sie einfach aufDasDiskussion. Versuchen Sie im Zweifelsfall immer, die Standardkonfiguration zu verwenden, die Sie aufDockerhub.
Hinweis: Dies ist ein veraltetes Bild. Sie sollten ein aktuelleres verwenden. Dieses Bild wurde seit über 3 Jahren nicht aktualisiert.