質問編集履歴
5
誤字
test
CHANGED
File without changes
|
test
CHANGED
@@ -200,11 +200,11 @@
|
|
200
200
|
|
201
201
|
```
|
202
202
|
|
203
|
-
---
|
203
|
+
---
|
204
204
|
|
205
205
|
**docker-compose.yml**
|
206
206
|
|
207
|
-
```
|
207
|
+
```yml
|
208
208
|
|
209
209
|
version: "3"
|
210
210
|
|
4
config/database.yml 追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -200,56 +200,138 @@
|
|
200
200
|
|
201
201
|
```
|
202
202
|
|
203
|
+
---yml
|
204
|
+
|
205
|
+
**docker-compose.yml**
|
206
|
+
|
207
|
+
```docker-compose.yml
|
208
|
+
|
209
|
+
version: "3"
|
210
|
+
|
211
|
+
services:
|
212
|
+
|
213
|
+
db:
|
214
|
+
|
215
|
+
image: postgres
|
216
|
+
|
217
|
+
volumes:
|
218
|
+
|
219
|
+
- ./tmp/db:/var/lib/postgresql/data
|
220
|
+
|
221
|
+
environment:
|
222
|
+
|
223
|
+
POSTGRES_USER: postgres
|
224
|
+
|
225
|
+
POSTGRES_PASSWORD: postgres
|
226
|
+
|
227
|
+
web:
|
228
|
+
|
229
|
+
stdin_open: true
|
230
|
+
|
231
|
+
tty: true
|
232
|
+
|
233
|
+
build: .
|
234
|
+
|
235
|
+
command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
|
236
|
+
|
237
|
+
volumes:
|
238
|
+
|
239
|
+
- .:/sample
|
240
|
+
|
241
|
+
ports:
|
242
|
+
|
243
|
+
- "3000:3000"
|
244
|
+
|
245
|
+
depends_on:
|
246
|
+
|
247
|
+
- db
|
248
|
+
|
249
|
+
```
|
250
|
+
|
203
251
|
---
|
204
252
|
|
205
|
-
**docker-compose.yml**
|
206
|
-
|
207
|
-
```docker-compose.yml
|
208
|
-
|
209
|
-
version: "3"
|
210
|
-
|
211
|
-
|
253
|
+
```Gemfile
|
212
|
-
|
213
|
-
|
254
|
+
|
214
|
-
|
215
|
-
image: postgres
|
216
|
-
|
217
|
-
volumes:
|
218
|
-
|
219
|
-
|
255
|
+
source 'https://rubygems.org'
|
220
|
-
|
221
|
-
|
256
|
+
|
222
|
-
|
223
|
-
POSTGRES_USER: postgres
|
224
|
-
|
225
|
-
POSTGRES_PASSWORD: postgres
|
226
|
-
|
227
|
-
web:
|
228
|
-
|
229
|
-
stdin_open: true
|
230
|
-
|
231
|
-
tty: true
|
232
|
-
|
233
|
-
build: .
|
234
|
-
|
235
|
-
command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
|
236
|
-
|
237
|
-
volumes:
|
238
|
-
|
239
|
-
- .:/sample
|
240
|
-
|
241
|
-
ports:
|
242
|
-
|
243
|
-
|
257
|
+
gem 'rails', '~>5'
|
244
|
-
|
245
|
-
depends_on:
|
246
|
-
|
247
|
-
- db
|
248
258
|
|
249
259
|
```
|
250
260
|
|
251
261
|
---
|
252
262
|
|
263
|
+
**entrypoint.sh**
|
264
|
+
|
265
|
+
```sh
|
266
|
+
|
267
|
+
#!/bin/bash
|
268
|
+
|
269
|
+
set -e
|
270
|
+
|
271
|
+
|
272
|
+
|
273
|
+
# Remove a potentially pre-existing server.pid for Rails.
|
274
|
+
|
275
|
+
rm -f /sample/tmp/pids/server.pid
|
276
|
+
|
277
|
+
|
278
|
+
|
279
|
+
# Then exec the container's main process (what's set as CMD in the Dockerfile).
|
280
|
+
|
281
|
+
exec "$@"
|
282
|
+
|
283
|
+
```
|
284
|
+
|
285
|
+
|
286
|
+
|
287
|
+
---
|
288
|
+
|
289
|
+
|
290
|
+
|
291
|
+
**config/database.yml**
|
292
|
+
|
293
|
+
```yml
|
294
|
+
|
295
|
+
default: &default
|
296
|
+
|
297
|
+
adapter: postgresql
|
298
|
+
|
299
|
+
encoding: unicode
|
300
|
+
|
301
|
+
host: db
|
302
|
+
|
303
|
+
username: postgres
|
304
|
+
|
305
|
+
password:
|
306
|
+
|
307
|
+
pool: 5
|
308
|
+
|
309
|
+
|
310
|
+
|
311
|
+
development:
|
312
|
+
|
313
|
+
<<: *default
|
314
|
+
|
315
|
+
database: myapp_development
|
316
|
+
|
317
|
+
|
318
|
+
|
319
|
+
|
320
|
+
|
321
|
+
test:
|
322
|
+
|
323
|
+
<<: *default
|
324
|
+
|
325
|
+
database: myapp_test
|
326
|
+
|
327
|
+
```
|
328
|
+
|
329
|
+
|
330
|
+
|
331
|
+
|
332
|
+
|
333
|
+
### 不可解なこと
|
334
|
+
|
253
335
|
```Gemfile
|
254
336
|
|
255
337
|
source 'https://rubygems.org'
|
@@ -258,46 +340,10 @@
|
|
258
340
|
|
259
341
|
```
|
260
342
|
|
261
|
-
---
|
262
|
-
|
263
|
-
**entrypoint.sh**
|
264
|
-
|
265
|
-
```sh
|
266
|
-
|
267
|
-
#!/bin/bash
|
268
|
-
|
269
|
-
set -e
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
# Remove a potentially pre-existing server.pid for Rails.
|
274
|
-
|
275
|
-
rm -f /sample/tmp/pids/server.pid
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
343
|
+
と書いてあるのでRails5がインストールされるのかと思ったのですが、```docker-compose run web rails new . --force --no-deps --database=postgresql```実行後のGemfileを確認すると、Rails6をインストールしているように見受けられます。
|
280
|
-
|
281
|
-
exec "$@"
|
282
|
-
|
283
|
-
```
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
### 不可解なこと
|
288
344
|
|
289
345
|
```Gemfile
|
290
346
|
|
291
|
-
source 'https://rubygems.org'
|
292
|
-
|
293
|
-
gem 'rails', '~>5'
|
294
|
-
|
295
|
-
```
|
296
|
-
|
297
|
-
と書いてあるのでRails5がインストールされるのかと思ったのですが、```docker-compose run web rails new . --force --no-deps --database=postgresql```実行後のGemfileを確認すると、Rails6をインストールしているように見受けられます。
|
298
|
-
|
299
|
-
```Gemfile
|
300
|
-
|
301
347
|
略
|
302
348
|
|
303
349
|
ruby '2.7.1'
|
3
エラー
test
CHANGED
File without changes
|
test
CHANGED
@@ -76,7 +76,7 @@
|
|
76
76
|
|
77
77
|
```
|
78
78
|
|
79
|
-
Starting
|
79
|
+
Starting sample_db_1 ... done
|
80
80
|
|
81
81
|
Usage: yarn [options]
|
82
82
|
|
2
ソースコード追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -14,7 +14,7 @@
|
|
14
14
|
|
15
15
|
|
16
16
|
|
17
|
-
また、環境構築に用意したファイル群のコードは下記のページをコピペしました。
|
17
|
+
また、環境構築に用意したファイル群のコードは下記のページの内容をコピペしました。
|
18
18
|
|
19
19
|
- [Quickstart: Compose and Rails | Docker Documentation](https://docs.docker.com/compose/rails/)
|
20
20
|
|
@@ -22,11 +22,21 @@
|
|
22
22
|
|
23
23
|
|
24
24
|
|
25
|
+
また、下記の内容を変更をしました。
|
26
|
+
|
27
|
+
- Rubyのバージョンを2.7.1に変更
|
28
|
+
|
29
|
+
- Dockerfileの```WORKDIR```の内容を変数${appname}にして、appnameの値をsampleに設定
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
|
34
|
+
|
25
35
|
### 発生している問題・エラーメッセージ
|
26
36
|
|
27
37
|
|
28
38
|
|
29
|
-
Dockerのドキュメントの手順に倣い、```config/database.yml```
|
39
|
+
Dockerのドキュメントの手順に倣い、```config/database.yml```を編集したのちにターミナルで```docker-compose up```を実行しましたが、下記のエラーが表示されます。
|
30
40
|
|
31
41
|
|
32
42
|
|
@@ -149,3 +159,177 @@
|
|
149
159
|
|
150
160
|
|
151
161
|
解決にあたり必要な情報やそのほか試すことなどがあれば、お手数ですがコメントください。
|
162
|
+
|
163
|
+
|
164
|
+
|
165
|
+
### ソースコード
|
166
|
+
|
167
|
+
```Dockerfile
|
168
|
+
|
169
|
+
FROM ruby:2.7.1
|
170
|
+
|
171
|
+
RUN apt-get update -qq && apt-get install -y nodejs postgresql-client imagemagick yarn
|
172
|
+
|
173
|
+
ENV appname /sample
|
174
|
+
|
175
|
+
RUN mkdir ${appname}
|
176
|
+
|
177
|
+
WORKDIR ${appname}
|
178
|
+
|
179
|
+
COPY Gemfile ${appname}/Gemfile
|
180
|
+
|
181
|
+
COPY Gemfile.lock ${appname}/Gemfile.lock
|
182
|
+
|
183
|
+
RUN bundle install
|
184
|
+
|
185
|
+
COPY . ${appname}
|
186
|
+
|
187
|
+
|
188
|
+
|
189
|
+
COPY entrypoint.sh /usr/bin/
|
190
|
+
|
191
|
+
RUN chmod +x /usr/bin/entrypoint.sh
|
192
|
+
|
193
|
+
ENTRYPOINT ["entrypoint.sh"]
|
194
|
+
|
195
|
+
EXPOSE 3000
|
196
|
+
|
197
|
+
|
198
|
+
|
199
|
+
CMD ["rails", "server", "-b", "0.0.0.0"]
|
200
|
+
|
201
|
+
```
|
202
|
+
|
203
|
+
---
|
204
|
+
|
205
|
+
**docker-compose.yml**
|
206
|
+
|
207
|
+
```docker-compose.yml
|
208
|
+
|
209
|
+
version: "3"
|
210
|
+
|
211
|
+
services:
|
212
|
+
|
213
|
+
db:
|
214
|
+
|
215
|
+
image: postgres
|
216
|
+
|
217
|
+
volumes:
|
218
|
+
|
219
|
+
- ./tmp/db:/var/lib/postgresql/data
|
220
|
+
|
221
|
+
environment:
|
222
|
+
|
223
|
+
POSTGRES_USER: postgres
|
224
|
+
|
225
|
+
POSTGRES_PASSWORD: postgres
|
226
|
+
|
227
|
+
web:
|
228
|
+
|
229
|
+
stdin_open: true
|
230
|
+
|
231
|
+
tty: true
|
232
|
+
|
233
|
+
build: .
|
234
|
+
|
235
|
+
command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
|
236
|
+
|
237
|
+
volumes:
|
238
|
+
|
239
|
+
- .:/sample
|
240
|
+
|
241
|
+
ports:
|
242
|
+
|
243
|
+
- "3000:3000"
|
244
|
+
|
245
|
+
depends_on:
|
246
|
+
|
247
|
+
- db
|
248
|
+
|
249
|
+
```
|
250
|
+
|
251
|
+
---
|
252
|
+
|
253
|
+
```Gemfile
|
254
|
+
|
255
|
+
source 'https://rubygems.org'
|
256
|
+
|
257
|
+
gem 'rails', '~>5'
|
258
|
+
|
259
|
+
```
|
260
|
+
|
261
|
+
---
|
262
|
+
|
263
|
+
**entrypoint.sh**
|
264
|
+
|
265
|
+
```sh
|
266
|
+
|
267
|
+
#!/bin/bash
|
268
|
+
|
269
|
+
set -e
|
270
|
+
|
271
|
+
|
272
|
+
|
273
|
+
# Remove a potentially pre-existing server.pid for Rails.
|
274
|
+
|
275
|
+
rm -f /sample/tmp/pids/server.pid
|
276
|
+
|
277
|
+
|
278
|
+
|
279
|
+
# Then exec the container's main process (what's set as CMD in the Dockerfile).
|
280
|
+
|
281
|
+
exec "$@"
|
282
|
+
|
283
|
+
```
|
284
|
+
|
285
|
+
|
286
|
+
|
287
|
+
### 不可解なこと
|
288
|
+
|
289
|
+
```Gemfile
|
290
|
+
|
291
|
+
source 'https://rubygems.org'
|
292
|
+
|
293
|
+
gem 'rails', '~>5'
|
294
|
+
|
295
|
+
```
|
296
|
+
|
297
|
+
と書いてあるのでRails5がインストールされるのかと思ったのですが、```docker-compose run web rails new . --force --no-deps --database=postgresql```実行後のGemfileを確認すると、Rails6をインストールしているように見受けられます。
|
298
|
+
|
299
|
+
```Gemfile
|
300
|
+
|
301
|
+
略
|
302
|
+
|
303
|
+
ruby '2.7.1'
|
304
|
+
|
305
|
+
|
306
|
+
|
307
|
+
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
|
308
|
+
|
309
|
+
gem 'rails', '~> 6.0.2', '>= 6.0.2.2'
|
310
|
+
|
311
|
+
# Use postgresql as the database for Active Record
|
312
|
+
|
313
|
+
gem 'pg', '>= 0.18', '< 2.0'
|
314
|
+
|
315
|
+
# Use Puma as the app server
|
316
|
+
|
317
|
+
gem 'puma', '~> 4.1'
|
318
|
+
|
319
|
+
# Use SCSS for stylesheets
|
320
|
+
|
321
|
+
gem 'sass-rails', '>= 6'
|
322
|
+
|
323
|
+
# Transpile app-like JavaScript. Read more: https://github.com/rails/webpacker
|
324
|
+
|
325
|
+
gem 'webpacker', '~> 4.0'
|
326
|
+
|
327
|
+
略
|
328
|
+
|
329
|
+
```
|
330
|
+
|
331
|
+
Rails6はyarnが必須になるとどこかの記事で読んだので、Rails6になっていることに何か原因があるかもしれません。
|
332
|
+
|
333
|
+
とはいえyarnコマンドが実行できることから、yarnはインストールされているようです。
|
334
|
+
|
335
|
+
しかし、Dockerfileではyarnをインストールする記述はしていません。
|
1
本文
test
CHANGED
File without changes
|
test
CHANGED
@@ -14,7 +14,7 @@
|
|
14
14
|
|
15
15
|
|
16
16
|
|
17
|
-
また、環境構築に用意したファイル群のコードは下記のページを
|
17
|
+
また、環境構築に用意したファイル群のコードは下記のページをコピペしました。
|
18
18
|
|
19
19
|
- [Quickstart: Compose and Rails | Docker Documentation](https://docs.docker.com/compose/rails/)
|
20
20
|
|