teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

4

追記

2018/04/26 15:59

投稿

xin
xin

スコア17

title CHANGED
File without changes
body CHANGED
@@ -207,4 +207,6 @@
207
207
  ----**結論**----
208
208
 
209
209
  2018/4/26時点で
210
- MYSQL_VERSION 8.0.3までは正常に動くが、8.0.4では動かない(8.0でプルすると8.0.4になるので同様)
210
+ MYSQL_VERSION 8.0.3までは正常に動くが、8.0.4では動かない(8.0でプルすると8.0.4になるので同様)
211
+
212
+ 細かい原因糾明まで助けてくださったmaverixzさんをベストアンサーにさせていただきました。

3

結論を追加

2018/04/26 15:59

投稿

xin
xin

スコア17

title CHANGED
File without changes
body CHANGED
@@ -195,10 +195,16 @@
195
195
 
196
196
  6)今回投稿した内容の通りに```php artisan migrate```まで進み、無事マイグレーションできました。
197
197
 
198
- mysqlのバージョンを8.0に変更した理由は、誰かとプロジェクトを共有する際にバージョンが変わるのを避けたかったので、数字で指定したかったのですが、
198
+ mysqlのバージョンを8.0に変更した理由は、誰かとプロジェクトを共有する際にバージョンが変わるのを避けたかったので、数字で指定したかった
199
199
  [公式](http://laradock.io/documentation/#change-the-mysql-version)に
200
200
 
201
201
  > Change the (MySQL) Version#
202
202
  By default MySQL 8.0 is running.
203
203
 
204
+ ---
205
+ 再度maverixzさんのアドバイス通り、MYSQL_VERSION 8.0.3でトライ
206
+ →マイグレーションまで無事完了
207
+ ----**結論**----
208
+
209
+ 2018/4/26時点で
204
- とあったので、defaultが8.0だと思ったのが、8.0と指定するとmysqlコンテナが起動しいようした、、
210
+ 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

title CHANGED
File without changes
body CHANGED
@@ -150,4 +150,55 @@
150
150
  ```
151
151
  docker-compose exec workspace php artisan migrate
152
152
  ```
153
- を実行すると冒頭のエラーが出ました。
153
+ を実行すると冒頭のエラーが出ました。
154
+
155
+ ---
156
+
157
+ ------------ 4/26追記 ----------------------------------------------------
158
+
159
+ maverixzさんにアドバイス頂いた通り、mysqlバージョン8.0で作り直してみました。
160
+
161
+ 前提として```docker system prune```を実行、全てのコンテナを消してネットワークを初期化しました。
162
+ imageはpruneでは消えなかったので念のため全て消去しました。
163
+ laradockの.envの設定でmysqlデータがホストのルートに永続化されていたため、このフォルダも消去しました。↓
164
+ ```
165
+ # Choose storage path on your machine. For all storage systems
166
+ DATA_PATH_HOST=~/.laradock/data
167
+ ```
168
+ 1)**laradock/.env**を編集
169
+ ```
170
+ ### MYSQL #################################################
171
+
172
+ MYSQL_VERSION=8.0 //defaultから8.0に変更
173
+ ```
174
+ 2)**docker-compose up -d nginx mysql**を実行
175
+ 3)**mysqlコンテナが**一度はdoneになるが**docker ps**しても立ち上がっていない
176
+ 4)以下がmysqlコンテナのlogです
177
+ ```
178
+ 018-04-26T13:18:04.820630700Z
179
+ ERROR: mysqld failed while attempting to check config
180
+ command was: "mysqld --verbose --help"
181
+ 2018-04-26T13:18:04.820716500Z
182
+ 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.
183
+ 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'
184
+ 2018-04-26T13:18:04.813618Z 0 [ERROR] [MY-010119] [Server] Aborting
185
+ ```
186
+
187
+ 4)再度docker環境を初期化、今度は**laradock/.env**を以下のように編集
188
+ ```
189
+ ### MYSQL #################################################
190
+
191
+ MYSQL_VERSION=5.7.21 //defaultから5.7.21に変更
192
+ ```
193
+
194
+ 5)その後は同じ手順で実行するとmysqlコンテナはUPの状態になりました。
195
+
196
+ 6)今回投稿した内容の通りに```php artisan migrate```まで進み、無事マイグレーションできました。
197
+
198
+ mysqlのバージョンを8.0に変更した理由は、誰かとプロジェクトを共有する際にバージョンが変わるのを避けたかったので、数字で指定したかったのですが、
199
+ [公式](http://laradock.io/documentation/#change-the-mysql-version)に
200
+
201
+ > Change the (MySQL) Version#
202
+ By default MySQL 8.0 is running.
203
+
204
+ とあったので、defaultが8.0だと思ったのですが、8.0と指定するとmysqlコンテナが起動しないようでした、、

1

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

2018/04/26 14:23

投稿

xin
xin

スコア17

title CHANGED
File without changes
body CHANGED
@@ -42,4 +42,112 @@
42
42
  ```
43
43
 
44
44
  とエラーが出てしまいました。
45
- どなたかアドバイス頂けると有難いです。
45
+ どなたかアドバイス頂けると有難いです。
46
+
47
+
48
+
49
+
50
+ <補足>
51
+ 具体的なコマンドとエラー
52
+
53
+ **laradockをダウンロード**
54
+ ```
55
+ mkdir my-laravel
56
+ cd my-laravel/
57
+ git init
58
+ git clone https://github.com/Laradock/laradock.git my-laradock
59
+ cd my-laradock/
60
+ cp env-example .env
61
+ vi .env
62
+ ```
63
+ **./mylaradock/.envを編集**
64
+ ```
65
+ ### Paths #################################################
66
+
67
+ # Point to the path of your applications code on your host
68
+ APP_CODE_PATH_HOST=../src/ //ここを編集
69
+
70
+ # 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`
71
+ APP_CODE_PATH_CONTAINER=/var/www:cached
72
+
73
+ # Choose storage path on your machine. For all storage systems
74
+ DATA_PATH_HOST=~/.laradock/data
75
+
76
+ ### Drivers ################################################
77
+ :
78
+ 省略
79
+ :
80
+ :
81
+ ### MYSQL #################################################
82
+
83
+ MYSQL_VERSION=8.0 //ここを編集
84
+ MYSQL_DATABASE=dev_db //ここを編集
85
+ MYSQL_USER=dev_user //ここを編集
86
+ MYSQL_PASSWORD=password //ここを編集
87
+ MYSQL_PORT=3306
88
+ MYSQL_ROOT_PASSWORD=root
89
+ MYSQL_ENTRYPOINT_INITDB=./mysql/docker-entrypoint-initdb.d
90
+
91
+ ### REDIS #################################################
92
+ ```
93
+ ```
94
+ docker-compose up -d nginx mysql
95
+ docker ps
96
+ CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
97
+ 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
98
+ 1159ae63b755 mylaradock_php-fpm "docker-php-entrypoi…" 4 minutes ago Up 5 minutes 9000/tcp mylaradock_php-fpm_1
99
+ c2c27660a2d7 mylaradock_mysql "docker-entrypoint.s…" 4 minutes ago Up 5 minutes 0.0.0.0:3306->3306/tcp mylaradock_mysql_1
100
+ ```
101
+ この時点でnginxの404ページが表示されました
102
+
103
+ **workspaceがなかったので個別に起動**
104
+ ```
105
+ docker-compose up -d workspace
106
+
107
+ docker ps
108
+ CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
109
+ 00072367f1c6 mylaradock_workspace "/sbin/my_init" 14 minutes ago Up 15 minutes 0.0.0.0:2222->22/tcp mylaradock_workspace_1
110
+ 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
111
+ 1159ae63b755 mylaradock_php-fpm "docker-php-entrypoi…" 25 minutes ago Up 25 minutes 9000/tcp mylaradock_php-fpm_1
112
+ c2c27660a2d7 myaradock_mysql "docker-entrypoint.s…" 25 minutes ago Up 25 minutes 0.0.0.0:3306->3306/tcp mylaradock_mysql_1
113
+ ```
114
+ **Laravelプロジェクトを作成**
115
+ ```
116
+ docker-compose exec workspace composer create-project --prefer-dist laravel/laravel ./
117
+ cd ./src
118
+ vi .env
119
+ ```
120
+ laravelのウェルカム画面が表示されました
121
+
122
+ **MySQLの設定を反映**
123
+ ./src/.envを編集
124
+ ```
125
+ DB_CONNECTION=mysql
126
+ DB_HOST=mysql //ここを編集
127
+ DB_PORT=3306
128
+ DB_DATABASE=dev_db //ここを編集
129
+ DB_USERNAME=dev_user //ここを編集
130
+ DB_PASSWORD=password //ここを編集
131
+ ```
132
+ ./src/config/database.phpを編集
133
+ ```
134
+ 'mysql' => [
135
+ 'driver' => 'mysql',
136
+ 'host' => env('DB_HOST', 'mysql'), //ここを編集
137
+ 'port' => env('DB_PORT', '3306'),
138
+ 'database' => env('DB_DATABASE', 'dev_db'), //ここを編集
139
+ 'username' => env('DB_USERNAME', 'dev_user'), //ここを編集
140
+ 'password' => env('DB_PASSWORD', 'password'), //ここを編集
141
+ 'unix_socket' => env('DB_SOCKET', ''),
142
+ 'charset' => 'utf8mb4',
143
+ 'collation' => 'utf8mb4_unicode_ci',
144
+ 'prefix' => '',
145
+ 'strict' => true,
146
+ 'engine' => null,
147
+ ],
148
+ ```
149
+ ここで
150
+ ```
151
+ docker-compose exec workspace php artisan migrate
152
+ ```
153
+ を実行すると冒頭のエラーが出ました。