質問編集履歴

4

追記

2018/04/26 15:59

投稿

xin
xin

スコア17

test CHANGED
File without changes
test CHANGED
@@ -417,3 +417,7 @@
417
417
  2018/4/26時点で
418
418
 
419
419
  MYSQL_VERSION 8.0.3までは正常に動くが、8.0.4では動かない(8.0でプルすると8.0.4になるので同様)
420
+
421
+
422
+
423
+ 細かい原因糾明まで助けてくださったmaverixzさんをベストアンサーにさせていただきました。

3

結論を追加

2018/04/26 15:59

投稿

xin
xin

スコア17

test CHANGED
File without changes
test CHANGED
@@ -392,7 +392,7 @@
392
392
 
393
393
 
394
394
 
395
- mysqlのバージョンを8.0に変更した理由は、誰かとプロジェクトを共有する際にバージョンが変わるのを避けたかったので、数字で指定したかったのですが、
395
+ mysqlのバージョンを8.0に変更した理由は、誰かとプロジェクトを共有する際にバージョンが変わるのを避けたかったので、数字で指定したかった
396
396
 
397
397
  [公式](http://laradock.io/documentation/#change-the-mysql-version)に
398
398
 
@@ -404,4 +404,16 @@
404
404
 
405
405
 
406
406
 
407
+ ---
408
+
409
+ 再度maverixzさんのアドバイス通り、MYSQL_VERSION 8.0.3でトライ
410
+
411
+ →マイグレーションまで無事完了
412
+
413
+ ----**結論**----
414
+
415
+
416
+
417
+ 2018/4/26時点で
418
+
407
- とあったので、defaultが8.0だと思ったのが、8.0と指定するとmysqlコンテナが起動しいようした、、
419
+ MYSQL_VERSION 8.0.3まは正常に動くが、8.0.4では動かない(8.0でプルすると8.0.4にるの同様)

2

mysqlバージョン8.0での再検証

2018/04/26 15:55

投稿

xin
xin

スコア17

test CHANGED
File without changes
test CHANGED
@@ -303,3 +303,105 @@
303
303
  ```
304
304
 
305
305
  を実行すると冒頭のエラーが出ました。
306
+
307
+
308
+
309
+ ---
310
+
311
+
312
+
313
+ ------------ 4/26追記 ----------------------------------------------------
314
+
315
+
316
+
317
+ maverixzさんにアドバイス頂いた通り、mysqlバージョン8.0で作り直してみました。
318
+
319
+
320
+
321
+ 前提として```docker system prune```を実行、全てのコンテナを消してネットワークを初期化しました。
322
+
323
+ imageはpruneでは消えなかったので念のため全て消去しました。
324
+
325
+ laradockの.envの設定でmysqlデータがホストのルートに永続化されていたため、このフォルダも消去しました。↓
326
+
327
+ ```
328
+
329
+ # Choose storage path on your machine. For all storage systems
330
+
331
+ DATA_PATH_HOST=~/.laradock/data
332
+
333
+ ```
334
+
335
+ 1)**laradock/.env**を編集
336
+
337
+ ```
338
+
339
+ ### MYSQL #################################################
340
+
341
+
342
+
343
+ MYSQL_VERSION=8.0 //defaultから8.0に変更
344
+
345
+ ```
346
+
347
+ 2)**docker-compose up -d nginx mysql**を実行
348
+
349
+ 3)**mysqlコンテナが**一度はdoneになるが**docker ps**しても立ち上がっていない
350
+
351
+ 4)以下がmysqlコンテナのlogです
352
+
353
+ ```
354
+
355
+ 018-04-26T13:18:04.820630700Z
356
+
357
+ ERROR: mysqld failed while attempting to check config
358
+
359
+ command was: "mysqld --verbose --help"
360
+
361
+ 2018-04-26T13:18:04.820716500Z
362
+
363
+ 2018-04-26T13:18:04.811937Z 0 [Warning] [MY-011070] [Server] 'Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option as it' is deprecated and will be removed in a future release.
364
+
365
+ 2018-04-26T13:18:04.812012Z 0 [ERROR] [MY-011071] [Server] /usr/sbin/mysqld: Error while setting value 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' to 'sql_mode'
366
+
367
+ 2018-04-26T13:18:04.813618Z 0 [ERROR] [MY-010119] [Server] Aborting
368
+
369
+ ```
370
+
371
+
372
+
373
+ 4)再度docker環境を初期化、今度は**laradock/.env**を以下のように編集
374
+
375
+ ```
376
+
377
+ ### MYSQL #################################################
378
+
379
+
380
+
381
+ MYSQL_VERSION=5.7.21 //defaultから5.7.21に変更
382
+
383
+ ```
384
+
385
+
386
+
387
+ 5)その後は同じ手順で実行するとmysqlコンテナはUPの状態になりました。
388
+
389
+
390
+
391
+ 6)今回投稿した内容の通りに```php artisan migrate```まで進み、無事マイグレーションできました。
392
+
393
+
394
+
395
+ mysqlのバージョンを8.0に変更した理由は、誰かとプロジェクトを共有する際にバージョンが変わるのを避けたかったので、数字で指定したかったのですが、
396
+
397
+ [公式](http://laradock.io/documentation/#change-the-mysql-version)に
398
+
399
+
400
+
401
+ > Change the (MySQL) Version#
402
+
403
+ By default MySQL 8.0 is running.
404
+
405
+
406
+
407
+ とあったので、defaultが8.0だと思ったのですが、8.0と指定するとmysqlコンテナが起動しないようでした、、

1

具体的なコマンド、.envの編集内容、psコマンドの結果を追記

2018/04/26 14:23

投稿

xin
xin

スコア17

test CHANGED
File without changes
test CHANGED
@@ -87,3 +87,219 @@
87
87
  とエラーが出てしまいました。
88
88
 
89
89
  どなたかアドバイス頂けると有難いです。
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+ <補足>
100
+
101
+ 具体的なコマンドとエラー
102
+
103
+
104
+
105
+ **laradockをダウンロード**
106
+
107
+ ```
108
+
109
+ mkdir my-laravel
110
+
111
+ cd my-laravel/
112
+
113
+ git init
114
+
115
+ git clone https://github.com/Laradock/laradock.git my-laradock
116
+
117
+ cd my-laradock/
118
+
119
+ cp env-example .env
120
+
121
+ vi .env
122
+
123
+ ```
124
+
125
+ **./mylaradock/.envを編集**
126
+
127
+ ```
128
+
129
+ ### Paths #################################################
130
+
131
+
132
+
133
+ # Point to the path of your applications code on your host
134
+
135
+ APP_CODE_PATH_HOST=../src/ //ここを編集
136
+
137
+
138
+
139
+ # Point to where the `APP_CODE_PATH_HOST` should be in the container. You may add flags to the path `:cached`, `:delegated`. When using Docker Sync add `:nocopy`
140
+
141
+ APP_CODE_PATH_CONTAINER=/var/www:cached
142
+
143
+
144
+
145
+ # Choose storage path on your machine. For all storage systems
146
+
147
+ DATA_PATH_HOST=~/.laradock/data
148
+
149
+
150
+
151
+ ### Drivers ################################################
152
+
153
+ :
154
+
155
+ 省略
156
+
157
+ :
158
+
159
+ :
160
+
161
+ ### MYSQL #################################################
162
+
163
+
164
+
165
+ MYSQL_VERSION=8.0 //ここを編集
166
+
167
+ MYSQL_DATABASE=dev_db //ここを編集
168
+
169
+ MYSQL_USER=dev_user //ここを編集
170
+
171
+ MYSQL_PASSWORD=password //ここを編集
172
+
173
+ MYSQL_PORT=3306
174
+
175
+ MYSQL_ROOT_PASSWORD=root
176
+
177
+ MYSQL_ENTRYPOINT_INITDB=./mysql/docker-entrypoint-initdb.d
178
+
179
+
180
+
181
+ ### REDIS #################################################
182
+
183
+ ```
184
+
185
+ ```
186
+
187
+ docker-compose up -d nginx mysql
188
+
189
+ docker ps
190
+
191
+ CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
192
+
193
+ ac4e31328b53 mylaradock_nginx "nginx" 4 minutes ago Up 5 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp mylaradock_nginx_1
194
+
195
+ 1159ae63b755 mylaradock_php-fpm "docker-php-entrypoi…" 4 minutes ago Up 5 minutes 9000/tcp mylaradock_php-fpm_1
196
+
197
+ c2c27660a2d7 mylaradock_mysql "docker-entrypoint.s…" 4 minutes ago Up 5 minutes 0.0.0.0:3306->3306/tcp mylaradock_mysql_1
198
+
199
+ ```
200
+
201
+ この時点でnginxの404ページが表示されました
202
+
203
+
204
+
205
+ **workspaceがなかったので個別に起動**
206
+
207
+ ```
208
+
209
+ docker-compose up -d workspace
210
+
211
+
212
+
213
+ docker ps
214
+
215
+ CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
216
+
217
+ 00072367f1c6 mylaradock_workspace "/sbin/my_init" 14 minutes ago Up 15 minutes 0.0.0.0:2222->22/tcp mylaradock_workspace_1
218
+
219
+ ac4e31328b53 mylaradock_nginx "nginx" 25 minutes ago Up 25 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp mylaradock_nginx_1
220
+
221
+ 1159ae63b755 mylaradock_php-fpm "docker-php-entrypoi…" 25 minutes ago Up 25 minutes 9000/tcp mylaradock_php-fpm_1
222
+
223
+ c2c27660a2d7 myaradock_mysql "docker-entrypoint.s…" 25 minutes ago Up 25 minutes 0.0.0.0:3306->3306/tcp mylaradock_mysql_1
224
+
225
+ ```
226
+
227
+ **Laravelプロジェクトを作成**
228
+
229
+ ```
230
+
231
+ docker-compose exec workspace composer create-project --prefer-dist laravel/laravel ./
232
+
233
+ cd ./src
234
+
235
+ vi .env
236
+
237
+ ```
238
+
239
+ laravelのウェルカム画面が表示されました
240
+
241
+
242
+
243
+ **MySQLの設定を反映**
244
+
245
+ ./src/.envを編集
246
+
247
+ ```
248
+
249
+ DB_CONNECTION=mysql
250
+
251
+ DB_HOST=mysql //ここを編集
252
+
253
+ DB_PORT=3306
254
+
255
+ DB_DATABASE=dev_db //ここを編集
256
+
257
+ DB_USERNAME=dev_user //ここを編集
258
+
259
+ DB_PASSWORD=password //ここを編集
260
+
261
+ ```
262
+
263
+ ./src/config/database.phpを編集
264
+
265
+ ```
266
+
267
+ 'mysql' => [
268
+
269
+ 'driver' => 'mysql',
270
+
271
+ 'host' => env('DB_HOST', 'mysql'), //ここを編集
272
+
273
+ 'port' => env('DB_PORT', '3306'),
274
+
275
+ 'database' => env('DB_DATABASE', 'dev_db'), //ここを編集
276
+
277
+ 'username' => env('DB_USERNAME', 'dev_user'), //ここを編集
278
+
279
+ 'password' => env('DB_PASSWORD', 'password'), //ここを編集
280
+
281
+ 'unix_socket' => env('DB_SOCKET', ''),
282
+
283
+ 'charset' => 'utf8mb4',
284
+
285
+ 'collation' => 'utf8mb4_unicode_ci',
286
+
287
+ 'prefix' => '',
288
+
289
+ 'strict' => true,
290
+
291
+ 'engine' => null,
292
+
293
+ ],
294
+
295
+ ```
296
+
297
+ ここで
298
+
299
+ ```
300
+
301
+ docker-compose exec workspace php artisan migrate
302
+
303
+ ```
304
+
305
+ を実行すると冒頭のエラーが出ました。