2017-09-01 5 views
0

私はmysqlイメージをutf-8エンコーディングで実行しようとしています。docker composeを使ってutf-8でmysqlを設定するには?

version: '2' 
services: 
    db: 
    container_name: zoho-grabber-db-development 
    image: mysql:5.7 
    environment: 
     - MYSQL_ROOT_PASSWORD=topsecret 
     - MYSQL_DATABASE=development 
     - MYSQL_USER=devuser 
     - MYSQL_PASSWORD=secure 
    ports: 
     - "3306:3306" 
    command: mysqld --character-set-server=utf8 --collation-server=utf8_general_ci 

私はそれを実行し、それが

$ docker-compose -f docker-compose.development.yml up 
Removing zoho-grabber-db-development 
Recreating 1b341fd7916e_1b341fd7916e_zoho-grabber-db-development 

ERROR: for db Cannot start service db: oci runtime error: container_linux.go:247: starting container process caused "exec: \"mysqld\": executable file not found in $PATH" 
ERROR: Encountered errors while bringing up the project. 

はなぜmysqldが見つからないと言う:私のようなドッキングウィンドウ-コンファイルが見えますか?そして私の目標を達成する方法?

答えて

2

docker-compose.ymlcommandを使用する場合はdocker-compose documentationで説明したように、それはデフォルトcommandentrypointを上書きします。目標を達成するには、docker image's readmeの「カスタムMySQL構成ファイルの使用」の項に記載されているように、my.cnfをボリュームとしてマウントすることをお勧めします。

したがって、ドッカーの作成からcommandを削除し、volumesなどを追加してください。

... 
volumes: 
    - mycustom.cnf:/etc/mysql/conf.d/custom.cnf 
... 

とコンテナが

編集-1以下

は、カスタムはあなたが必要とするconfigですサーバーの設定など、カスタム設定が含まれます

mycustom.cnf

[mysqld] 
character-set-server = utf8 
collation-server = utf8_unicode_ci 
skip-character-set-client-handshake 
+1

には、回答を完了するために必要な設定が追加されました –

+0

@Norbert Egger「cnfファイルなしの設定」のセクションもありますが、どのようにしてドッカー作成に適用されるのか分かりません。おそらくマニュアルの実行のために便利だろう – Fotis

+0

ありがとう、それは今動作します!私はドッカー(イメージとコンテナ)をクリーンアップしてからすべてを再構築していました。 –

関連する問題