回答編集履歴
1
修正
test
CHANGED
@@ -1,29 +1,23 @@
|
|
1
|
-
つまりは、「ローカルで
|
1
|
+
つまりは、「ローカルで構築したものをdockerのrailsを使って起動したい」ということですね。
|
2
2
|
|
3
|
+
|
4
|
+
|
3
|
-
それならばvolumeを使ってdockerの中に成果物を組み合わせるのではなく、最初から成果物が入った状態
|
5
|
+
それならばvolumeを使ってdockerの中に成果物を組み合わせるのではなく、**最初から成果物が入った状態のdockerイメージを自作**することをおすすめします。
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
ちなみにDockerはDockerfileというモノを書くことで、イメージ(railsやapache)を自作できます。
|
4
10
|
|
5
11
|
なので手順としては
|
6
12
|
|
7
13
|
|
8
14
|
|
9
|
-
1.
|
15
|
+
1. railsイメージを元に成果物が入っているDockerfileを書く。
|
10
16
|
|
11
|
-
2. r
|
17
|
+
2. docker buildでdockerfileをビルドしてみる。すると自作のイメージを作ることができる。
|
12
18
|
|
13
|
-
3. docker buildでdockerfileをビルドしてみる
|
14
|
-
|
15
|
-
4. 正常に動いたらdockerfileと依存ファイル一式をgitにあげるなりtgzにまとめるなりして本番環境にコピーする
|
16
|
-
|
17
|
-
|
19
|
+
3. 本番環境にイメージを持っていき、docker composeで設定等をして起動する。
|
18
20
|
|
19
21
|
|
20
22
|
|
21
|
-
以上のようなカタチになると思います。
|
23
|
+
以上のようなカタチになると思います。あまり私が全部書いちゃうのもアレなので、行き詰まったところあればまたコメントください。
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
また、herokuへデプロイしたのならばそのgitリポジトリをそのままサーバーへ持っていっても同じく動作すると思われます。
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
本来Dockerはシェルで接続して操作する仮想マシンの役割ではなく、Docker imageやDocker file等を使用してデプロイを効率化するものです。なので質問者さんが追記した方法・認識で正しいと思います。
|