mariadbを使用してDockerコンテナを構築して起動することはできません。

mariadbを使用してDockerコンテナを構築して起動することはできません。

ホストオペレーティングシステム:Ubuntu 16.04 x86_64

ドッカーオペレーティングシステム:Alpine Linux Edge

ドッカーバージョン:1.11.0、ビルド4dc5990

MariaDB バージョン: 10.1.13

Dockerfileを介してMariaDBをインストールし、エントリポイント(startup.sh)で起動しようとしましたが失敗しました。

すべてのファイル(Dockerfile、my.cnf、start.sh)とdocker build .ログはここにあります。https://gist.github.com/rakshazi/1048c45ba7da181b9e87ed5ed4faef9b

私の設定には何の問題があり、どのように解決しますか?

答え1

Dockerfileの各RUN行は、コンテナ内で一意のプロセスとして実行されます。実行中のコマンド mysql_install_db --verbose && /usr/bin/mysqladmin -u root Password 'password' は、すでに実行中の mysql/mariadb サーバーと通信を試みます。これはコンテナで実行される唯一のものであり、実行中のmysqlサービスがないため失敗します。

通常、この種の操作は、ビルド時ではなく実行時にENTRYPOINTスクリプトで実行する必要があります。これは、mysql / mariadbファイルを階層ファイルシステムではなくボリュームに保存したいからです。

プログラマー@の答えhttps://forums.docker.com/t/cant-build-container-with-mariadb/10256/2

関連情報