私は2年生のコンピュータサイエンスの学生です。私はmysqlドッカーの設定にいくつか問題があります。 割り当てとして、2つのドッカー画像を作成する必要があります(1つはapache/php、1つは簡単なPHP Webページ、もう1つはmysql)。私は既にそれほど難しいことではなかったapache/phpドッカーを作成しましたが、私はmysqlとかなり闘っています。mysql/mysql-server dockerfileの設定に関する問題
ファイル
./Dockerfile
./test.sql
Dockerfile
FROM mysql/mysql-server
ENV MYSQL_ROOT_PASSWORD=lindert
RUN mkdir /usr/sql
RUN chmod 644 /usr/sql
ADD test.sql /usr/sql/test.sql
run MYSQL -u root -p${MYSQL_ROOT_PASSWORD} -e "CREATE DATABASE \
shippingdb" && mysql -u root -p${MYSQL_ROOT_PASSWORD} shippingdb <
/usr/sql/test.sql
私は実行 'ドッキングウィンドウビルドを。'このエラーがポップアップ表示:誰かが助けることができれば、私はこの問題を解決する方法を見当もつかない
mysql: [WARNING] Using a password on the command line interface can be
insecure.
ERROR 2002 (HY000): Can't connect to local MySQL server through socket
'/var/lib/mysql/mysql.sock' (2)
私は今3時間グーグルでてきたと私はまだ答えを見つけられませんでした、いいだろう。 ありがとう!
ビルドプロセス中にSQLサービスが実行されるとは思わない。ドッカーファイルから最後のRUNコマンドを削除し、PHPコンテナにデータベースの接続と初期化をさせたいと思うでしょう。これは、少なくとも私の経験ではビルドステップ中に行うことではありません。 – DivXZero
私はポストグルと似た経験をしましたが、これはあなたが正しい方向に向かうかもしれません。私はビルド中にこのようなことをしようとしていましたが、ビルド中にはポストグルが実行されていません。ここでは、mysqlコマンドを実行しようとしているかもしれませんが、mysqlは実際には動作していません。[docker-entrypoint.sh](https://github.com/docker-library/mysql/blob/master/8.0/docker -entrypoint.sh)は、実際にイメージを実行するときに起動します。 – bluescores