回答編集履歴

3

Fix answer

2020/07/24 07:27

投稿

y_shinoda
y_shinoda

スコア3272

test CHANGED
@@ -1,84 +1,64 @@
1
- ## 元の回答
1
+ ## 追記
2
2
 
3
3
 
4
4
 
5
- [Quickstart: Compose and Rails | Docker Documentation](https://docs.docker.com/compose/rails/)
6
-
7
- この手順、僕もやりましたが、上記サイトの説明は不十分で
8
-
9
- Rails に慣れてない行間を読ん正しい手順を踏むことができないように感じ
5
+ (psc さんの自己解決より、WSL であり、絶対パスすることで解決することを受けて調査しした)
10
6
 
11
7
 
12
8
 
13
- うまいっていない原は次2 点です:
9
+ おそら Windows 10 の Windows 17.09 以前に起する問題ようです
10
+
11
+ Windows 10 の Windows Update を行うことでこの問題は起きなくなるようです
12
+
13
+ 参考: [Setting Up Docker for Windows and WSL to Work Flawlessly — Nick Janetakis](https://nickjanetakis.com/blog/setting-up-docker-for-windows-and-wsl-to-work-flawlessly#running-windows-10-1803)
14
14
 
15
15
 
16
16
 
17
- - `Gemfile` が最初手順で作状態のままであること
17
+ Windows 10 17.09 以前 WSL 環境させるめには、
18
18
 
19
- - `Dockerfile` からイメージ再ビルド必要であること
19
+ ような方法があるようです
20
20
 
21
-
22
-
23
- `rails new` を実行しましたか?
21
+ [Docker-compose and incorrect absolute paths for volumes · Issue #1854 · microsoft/WSL](https://github.com/microsoft/WSL/issues/1854#issuecomment-291845122)
24
22
 
25
23
 
26
24
 
27
25
  ```console
28
26
 
27
+ sudo mkdir /c
28
+
29
- docker-compose run web rails new . --force --no-deps --database=postgresql
29
+ sudo mount --bind /mnt/c /c
30
+
31
+ cd /c/path/to/project
32
+
33
+ docker-compose ...
30
34
 
31
35
  ```
32
36
 
33
37
 
34
38
 
35
- 最初に `Dockerfile` をビルドしてできるイメージは
36
-
37
- `rails new` するためだけものになります
39
+ ## 回答
38
40
 
39
41
 
40
42
 
41
- > Next, create a bootstrap Gemfile which just loads Rails.
43
+ 今、手元で、この質問欄にある `docker-compose.yml`, `Dockerfile`, `Gemfile` と、
42
44
 
43
- > It’ll be overwritten in a moment by rails new.
45
+ 空の `Gemfile.lock`, それから Quickstart にある `enrtypoint.sh` を使って
46
+
47
+ 質問欄のコマンドを実行したところ、こちらでは正常にファイルが生成できました
44
48
 
45
49
 
46
50
 
47
- のひと言か書かれていませんが
51
+ ログを見たとろ、rails new 自体は正常に動作しているようなので
48
52
 
49
- 最初に作った `Gemfile` 、`rails new` で生成される `Gemfile` で置き換える必要あります
53
+ あと出力されたファイルどこにいってしっているかだけだと思いま
50
54
 
51
55
 
52
56
 
53
- `rails new` が終わとプロジェクトディレクトリーが作成され、
57
+ いずれかのファイルをこの質問欄に書いてあ状態から変更していないでしょうか?
54
58
 
55
- その中`Gemfile`生成されています
59
+ docker-compose.yml が怪し気がしますが、
56
60
 
57
- この `Gemfile` の内容で、最初に作った `Gemfile` の内容を置き換え、
58
-
59
- イメージを作り直します
60
-
61
-
62
-
63
- > Now that you’ve got a new Gemfile,
64
-
65
- > you need to build the image again.
66
-
67
- > (This, and changes to the Gemfile or the Dockerfile,
68
-
69
- > should be the only times you’ll need to rebuild.)
70
-
71
-
72
-
73
- ```console
74
-
75
- docker-compose build
61
+ そこにこだわらず色々確認してみてください
76
-
77
- ```
78
-
79
-
80
-
81
- ## 追記
82
62
 
83
63
 
84
64
 

2

Add second expression

2020/07/24 07:27

投稿

y_shinoda
y_shinoda

スコア3272

test CHANGED
@@ -1,3 +1,7 @@
1
+ ## 元の回答
2
+
3
+
4
+
1
5
  [Quickstart: Compose and Rails | Docker Documentation](https://docs.docker.com/compose/rails/)
2
6
 
3
7
  この手順、僕もやりましたが、上記サイトの説明は不十分で
@@ -71,3 +75,71 @@
71
75
  docker-compose build
72
76
 
73
77
  ```
78
+
79
+
80
+
81
+ ## 追記
82
+
83
+
84
+
85
+ > コンテナを起動後、コンテナ内でrails new するということでしょうか?
86
+
87
+ > 手順としてはそうすると
88
+
89
+ >
90
+
91
+ > 1. docker-compose up
92
+
93
+ > 2. docker-compose run web rails new . --force --no-deps --database=postgresql
94
+
95
+ >
96
+
97
+ > かと思ったのですが、1ののちアプリケーションコンテナが起動後即終了しているようです…。
98
+
99
+
100
+
101
+ `rails new` を行う前は `docker-compose up` は実行しません
102
+
103
+ `rails new` を実行し、`Gemfile` を更新してイメージをビルドし直すまでは
104
+
105
+ `docker-compose up` は失敗します
106
+
107
+
108
+
109
+ ### rails new を実行する手順
110
+
111
+
112
+
113
+ 1
114
+
115
+ 念のため、`docker-compose down` でサービスを一通りクリアします:
116
+
117
+
118
+
119
+ ```console
120
+
121
+ docker-compose down
122
+
123
+ ```
124
+
125
+
126
+
127
+ 2
128
+
129
+ `docker-compose run` を使い、`rails new` を実行します:
130
+
131
+
132
+
133
+ ```console
134
+
135
+ docker-compose run web rails new . --force --no-deps --database=postgresql
136
+
137
+ ```
138
+
139
+
140
+
141
+ このとき、`db` サービスは、
142
+
143
+ `web` サービスが起動するより先に、自動的に起動します
144
+
145
+ `web` サービスの `depends_on` で `db` サービスを指定しているためです

1

Update expression

2020/07/13 13:27

投稿

y_shinoda
y_shinoda

スコア3272

test CHANGED
@@ -1,8 +1,18 @@
1
1
  [Quickstart: Compose and Rails | Docker Documentation](https://docs.docker.com/compose/rails/)
2
2
 
3
- この手順、僕もやりましたが、説明不十分で
3
+ この手順、僕もやりましたが、上記サイトの説明不十分で
4
4
 
5
5
  Rails に慣れてないと行間を読んで正しい手順を踏むことができないように感じます
6
+
7
+
8
+
9
+ うまくいっていない原因は次の2 点です:
10
+
11
+
12
+
13
+ - `Gemfile` が最初の手順で作った状態のままであること
14
+
15
+ - `Dockerfile` からイメージの再ビルドが必要であること
6
16
 
7
17
 
8
18
 
@@ -30,9 +40,17 @@
30
40
 
31
41
 
32
42
 
33
- このひと言しか書かれていませんが、`rails new` が終わったら
43
+ このひと言しか書かれていませんが、
34
44
 
35
- 最初に作った `Gemfile` `rails new` で生成され `Gemfile` 置き換え
45
+ 最初に作った `Gemfile` は、`rails new` で生成され `Gemfile` 置き換える必要があります
46
+
47
+
48
+
49
+ `rails new` が終わるとプロジェクトディレクトリーが作成され、
50
+
51
+ その中に `Gemfile` が生成されています
52
+
53
+ この `Gemfile` の内容で、最初に作った `Gemfile` の内容を置き換え、
36
54
 
37
55
  イメージを作り直します
38
56