質問編集履歴

4

edit

2017/05/21 06:30

投稿

PartyKids
PartyKids

スコア65

test CHANGED
File without changes
test CHANGED
@@ -72,7 +72,7 @@
72
72
 
73
73
 
74
74
 
75
- ###疑問1:なぜdocker-compose run web で動く
75
+ ###疑問1:コンテナ中身の違い
76
76
 
77
77
  ```linux
78
78
 

3

追記

2017/05/21 06:30

投稿

PartyKids
PartyKids

スコア65

test CHANGED
@@ -1 +1 @@
1
- dockerのコンテナについて
1
+ dockerのコンテナの中身について
test CHANGED
File without changes

2

追記

2017/05/21 03:23

投稿

PartyKids
PartyKids

スコア65

test CHANGED
File without changes
test CHANGED
@@ -4,9 +4,9 @@
4
4
 
5
5
  『コンテナは、イメージから作成されたものであり、作業履歴を保存するもの』っと書かれていたので、作業履歴**すべて**(手で打ったコード等)を保存するものだと思っていました。
6
6
 
7
- しかし実際、コンテナは**コンテナを動かしたコマンド(作業履歴)を保存するもの**であるに気付きました。
7
+ しかし実際、コンテナは**コンテナを動かしたコマンド(作業履歴)を保存するもの**であると```docker ps -a```で分かったのです、以下の疑問が出ました。
8
8
 
9
- 間違っているかもしれませんが、このような理解で以下の疑問が出ました。
9
+
10
10
 
11
11
  ###環境
12
12
 
@@ -108,7 +108,7 @@
108
108
 
109
109
  "controller",
110
110
 
111
- "A",
111
+ "StaticPages",
112
112
 
113
113
  "home"
114
114
 
@@ -124,9 +124,9 @@
124
124
 
125
125
  ```generate controller```や```destroy controller```をするには、まず```rails new```でアプリケーションを作成する必要があると思いますが、```rails new```コンテナは別にあります。
126
126
 
127
- 仮に、generateやdestroyをしたい場合には、```rails new```コンテナを継承しなければ出来ないと思うのですが、『各コンテナは、個々が独立しており、かつ、他のコンテナのコマンドを有していない』と考えているため、矛盾生じてま
127
+ 仮に、generateやdestroyをしたい場合には、```rails new```コンテナ(コマンド)を継承しなければ出来ないと思うのですが、『各コンテナは、個々が独立しており、かつ、他のコンテナのコマンドを有していない』と考えているため、```rails new```無しで```generate & destroy```出来うというおかしな考えになってしまいました
128
128
 
129
- 私の考えが間違ってのは、間違いないのですが、どこが間違っているのかを調べても見つからないため、困っています。
129
+ 私の考えがおかしいのは、間違いないのですが、どこが間違っているのかを調べても見つからないため、困っています。
130
130
 
131
131
 
132
132
 

1

追記

2017/05/20 16:39

投稿

PartyKids
PartyKids

スコア65

test CHANGED
@@ -1 +1 @@
1
- コンテナの性質が分かりません。。。
1
+ dockerのコンテナについて
test CHANGED
@@ -1,10 +1,12 @@
1
1
  閲覧ありがとうございます!
2
2
 
3
- 先日、dockerでのデプロイ方法について質問したはいいが、dockerについての理解不足が露呈し、丁寧な回答に全くついていけなかった者です。
4
-
5
- なんとなくdockerを分かっていたつもりでしたが、実際には分かっていない&理解していない状態で、その原因はコンテナの理解不足にあると考え質問させていただきました。
6
3
 
7
4
 
5
+ 『コンテナは、イメージから作成されたものであり、作業履歴を保存するもの』っと書かれていたので、作業履歴**すべて**(手で打ったコード等)を保存するものだと思っていました。
6
+
7
+ しかし実際、コンテナは**コンテナを動かしたコマンド(作業履歴)を保存するもの**であることに気が付きました。
8
+
9
+ 間違っているかもしれませんが、このような理解で以下の疑問が出ました。
8
10
 
9
11
  ###環境
10
12
 
@@ -70,21 +72,13 @@
70
72
 
71
73
 
72
74
 
73
- ###前提
74
-
75
- 『コンテナは、イメージから作成されたものであり、作業履歴を保存するもの』っと書かれていたので、作業履歴**すべて**(手で打ったコード等)を保存するものだと思っていました。
76
-
77
- しかし、```docker-compose run web rails g controller A home```と```docker-compose run web destroy controller A home```をした後に、```docker ps -a ```をすると別々のコンテナが作成されており、コンテナは、**コンテナを動かしたコマンド(作業履歴)を保存するもの**であることに気が付きました。
78
-
79
- 間違っているかもしれませんが、このような理解で以下の疑問が出ました。
80
-
81
-
82
-
83
75
  ###疑問1:なぜdocker-compose run web で動くのか
84
76
 
85
77
  ```linux
86
78
 
79
+ $ docker-compose run web rails g contoller StaticPages home
80
+
87
- $ docker inspect generate-contoller-container_ID
81
+ $ docker inspect [generate contoller container ID]
88
82
 
89
83
  "Cmd": [
90
84
 
@@ -94,7 +88,7 @@
94
88
 
95
89
  "controller",
96
90
 
97
- "A",
91
+ "StaticPages",
98
92
 
99
93
  "home"
100
94
 
@@ -102,7 +96,9 @@
102
96
 
103
97
 
104
98
 
99
+ $ docker-compose run web rails g destroy StaticPages home
100
+
105
- $ docker inspect destroy-controller-container ID
101
+ $ docker inspect [destroy controller container ID]
106
102
 
107
103
  "Cmd": [
108
104
 
@@ -122,11 +118,17 @@
122
118
 
123
119
 
124
120
 
125
- 上記のコマンドより、各コンテナは個々が独立しており、かつ、他のコンテナのコマンドを有していないと考えたのですが、なぜ```docker-compose run web ****```で動くのですか?
121
+ 上記のコマンドより、各コンテナは個々が独立しており、かつ、他のコンテナのコマンドを有していないと考えたのですが(destroyコンテナはgenerate controllerコマンドを有してない)
126
122
 
127
- docker-compose.ymlにあるwebイメージからコンテナを稼働させているのは分かるのですが、```rails new```を有するコンテナは、**workspace_web_run_1**であり、generateやdestroyコンテナ中に含まれていないと思うのですが。。。
123
+ なぜ```docker-compose run web **** ```動くのですか?
128
124
 
129
- 仮に、```rails g controller model```をしたい場合には、```rails new```を含んだコンテナを起動させないと出来ないような気がるのですが。。。
125
+ ```generate controller``````destroy controller```をするには、まず```rails new```でアプリケーション作成する必要があると思いますが、```rails new```コンテナは別にあります。
126
+
127
+ 仮に、generateやdestroyをしたい場合には、```rails new```コンテナを継承しなければ出来ないと思うのですが、『各コンテナは、個々が独立しており、かつ、他のコンテナのコマンドを有していない』と考えているため、矛盾が生じてます。
128
+
129
+ 私の考えが間違っているのは、間違いないのですが、どこが間違っているのかを調べても見つからないため、困っています。
130
+
131
+
130
132
 
131
133
 
132
134
 
@@ -134,9 +136,9 @@
134
136
 
135
137
  rails tutorialを勉強している間、何も考えずに```docker-compose up```と```localhost:3000```をして、勉強過程をブラウザ確認していました。
136
138
 
137
- 制作過程がブラウザで確認できたのは、volumeでホスト側のファイルをゲスト側にマウントしているからであり、実際に自分が打ったコードコンテナ(ゲスト側)に反映されているわけではない。っという事ですか?
139
+ 勉強過程がブラウザで確認できたのは、volumeでホスト側のファイルをゲスト側にマウントしているからであり、実際に自分が打ったコードコンテナ(ゲスト側)が有しているわけではない。っという事ですか?
138
140
 
139
- つまり、アプリケーションをデプロしたい場合には、自分の打ったコードをホスト側ではなくゲスト側に移さないと、ブラウザで見ることが出来ないっという事になるのですか?
141
+
140
142
 
141
143
 
142
144