ドッカー画像を作成中に、データベースとインポートスキーマを追加したいと思います。私が試したとき、私は以下のエラーが出た。 '/var/lib/mysql/2da0903ff372.err' にログインMariadbの画像用ドッカーファイル
160829 22時32分44秒mysqld_safeを。 160829 22:32:44 mysqld_safe /var/lib/mysqlからのデータベースでmysqldデーモンを起動する160829 22:32:47 pidファイル/var/run/mysqld/mysqld.pidからmysqld_safe mysqld を入力してくださいERROR 2002(HY000) :ローカルのMySQLサーバに ソケット '/ var/run /mysqld/mysqld.sock'(2 "No such file or directory")経由で接続できません コマンド '/ bin/sh -c/bin/bash -c "は/ usr/binに/ mysqld_safeを&" & &睡眠 & mysqリットル-uルート-e & &のmysql -uルート ポータル< /tmp/ddl.sql & & MYS "DATABASEポータルの作成"以下は、1
私はイメージを作成するために使用しています何Dockerfileです:QL -uルートポータル< /tmp/dml.sqlは」非ゼロのコードが を返しました。
FROM mariadb:latest
# Author
MAINTAINER Anvar
# Add files
ADD my.cnf /etc/mysql/my.cnf
ADD ddl.sql /tmp/ddl.sql
ADD dml.sql /tmp/dml.sql
RUN /bin/bash -c "/usr/bin/mysqld_safe &" && sleep 5 && mysql -u root -CREATE DATABASE portal" && mysql -u root portal < /tmp/ddl.sql`
私は間違っていますか?
あなたはmariaDBイメージのエントリポイントスクリプトの小さな見https://github.com/docker-library/mariadb/blob/d969a465ee48fe10f4b532276f7337ddaaf3fc36/10.1/docker-entrypoint.shを持っています。最初にdbが初期化されたときに初期化されることがわかります。あなたのタスクは、コンテナ内の既存の実行可能なdbサーバではなく、ずっと早く実行されます。 –
本当にありがとうございました。私の要件は、あらかじめデータが格納されたデータベーススキーマを持つドッカーイメージを作成することです。それを達成する方法はありますか? –
必要に応じてエントリポイントを延長してください –