質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

解決済

1回答

5844閲覧

docker-composeによるMySQLの設定

Matt

総合スコア41

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

0クリップ

投稿2018/07/18 00:49

編集2018/07/18 01:09

dockercomposeを使ってWebアプリの開発環境を作っています。
下記のようなymlファイルを作成し,upコマンドでを実行したところエラーが発生してMySQLのコンテナが停止してしまいます.データの永続化を設定するvolumes部分が原因かと思われますが,修正方法が分からず困っています.
ちなみにDocker for Macでは正常に動きました.

version: '3' services: db: image: mysql:5.7 ports: - "3306:3306" environment: - MYSQL_ROOT_PASSWORD=root - MYSQL_DATABASE=testdb - MYSQL_USER=hello - MYSQL_PASSWORD=world volumes: - ./mysql/db_data:/var/lib/mysql

発生している問題・エラーメッセージ

db_1 | 2018-07-18T00:15:22.520365Z 0 [ERROR] InnoDB: Operating system error number 22 in a file operation. db_1 | 2018-07-18T00:15:22.520951Z 0 [ERROR] InnoDB: Error number 22 means 'Invalid argument' db_1 | 2018-07-18T00:15:22.521444Z 0 [Note] InnoDB: Some operating system error numbers are described at http://dev.mysql.com/doc/refman/5.7/en/operating-system-error-codes.html db_1 | 2018-07-18T00:15:22.521926Z 0 [ERROR] InnoDB: File ./ib_logfile0: 'aio write' returned OS error 122. Cannot continue operation db_1 | 2018-07-18T00:15:22.522235Z 0 [ERROR] InnoDB: Cannot continue operation.

補足情報(ツールのバージョンなど)

・Windows 10 Home 64bit
・Docker Toolbox
・docker version

Client: Version: 18.03.0-ce API version: 1.37 Go version: go1.9.4 Git commit: 0520e24302 Built: Fri Mar 23 08:31:36 2018 OS/Arch: windows/amd64 Experimental: false Orchestrator: swarm Server: Engine: Version: 18.05.0-ce API version: 1.37 (minimum version 1.12) Go version: go1.10.1 Git commit: f150324 Built: Wed May 9 22:20:42 2018 OS/Arch: linux/amd64 Experimental: false

・docker-compose version

docker-compose version 1.20.1, build 5d8c71b2 docker-py version: 3.1.4 CPython version: 3.6.4 OpenSSL version: OpenSSL 1.0.2k 26 Jan 2017

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Windowsユーザでないので検証ができないのですが、

https://github.com/docker/for-win/issues/1584
https://github.com/docker-library/mysql/issues/371

この辺りが参考になるかもしれません。
docker for windowsは駄目だったがdocker-toolboxなら大丈夫だった(またはその逆?)という情報があります。
また、 1000:50 のuserで起動したら解決したという記載があるので、

version: '3' services: db: image: mysql:5.7 ports: - "3306:3306" environment: - MYSQL_ROOT_PASSWORD=root - MYSQL_DATABASE=testdb - MYSQL_USER=hello - MYSQL_PASSWORD=world volumes: - ./mysql/db_data:/var/lib/mysql user: "1000:50"

と、変更して、

docker-compose down docker-compose up

と、コンテナ作り直したら動く、かもです。

投稿2018/07/18 02:02

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Matt

2018/07/18 02:25 編集

docker-compose.ymlは動きませんでした. ひとまずdocker runで2番目のURLを参考に動かしてみたら,MySQLを正常に起動させることができたので,これをcomposeで書き換えてみたいと思います! ありがとうございます.
退会済みユーザー

退会済みユーザー

2018/07/18 02:31

糸口が見つかったようで良かったです。私の手元で検証できないので、すみませんが頑張って下さい。
退会済みユーザー

退会済みユーザー

2018/07/18 02:57

おめでとうございます。良かったです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問