回答編集履歴

1

ソースを修正する例を載せてみました。

2016/10/15 05:13

投稿

suama
suama

スコア1997

test CHANGED
@@ -33,3 +33,111 @@
33
33
 
34
34
 
35
35
  ![Kitematicでの確認](7e06ac7f9a21f99f5ce2a6661274bc8e.png)
36
+
37
+
38
+
39
+ ---
40
+
41
+
42
+
43
+ **追記:アプリケーションのソースの編集について**
44
+
45
+
46
+
47
+ 面白そうだったのでやってみました...。色々方法があると思いますので、1例として挙げますね。
48
+
49
+
50
+
51
+ DockerのホストがMacで、イメージを作る際にGitHubから一式ソースを取得していると思います。
52
+
53
+
54
+
55
+ ```
56
+
57
+ $ tree -L 1
58
+
59
+ .
60
+
61
+ ├── CHANGELOG.md
62
+
63
+ ├── Dockerfile
64
+
65
+ ├── LICENSE
66
+
67
+ ├── README.md
68
+
69
+ ├── _VERSION
70
+
71
+ ├── build.sh
72
+
73
+ ├── config
74
+
75
+ ├── docs
76
+
77
+ ├── package.json
78
+
79
+ ├── src
80
+
81
+ ├── tsconfig.json
82
+
83
+ ├── tslint.json
84
+
85
+ ├── typedoc.json
86
+
87
+ └── webpack.config.js
88
+
89
+
90
+
91
+ 3 directories, 11 files
92
+
93
+ ```
94
+
95
+
96
+
97
+ ここのsrc/がAngularJSのソースになるとおもいます。(まちがってたらすみません)
98
+
99
+ また、このDockerのイメージは、ビルド時に同じソースを /var/www というところに持ってきて展開しています。
100
+
101
+
102
+
103
+ コンテナ側の/var/www/src に当たるところを、Mac側の src/ として共有する形で起動してあげるといいと思います。
104
+
105
+
106
+
107
+ コンテナに"docker exec"で入って、ソースファイルの変更をwatchするコマンドを発行しておくと、Mac上でお好きなエディタでソースを編集してあげたタイミングでビルドが走って、アプリケーションにも反映されるんじゃないかと思います。
108
+
109
+
110
+
111
+ 以下、やってみた例です。
112
+
113
+ ボリュームをシェアすると、Kitematic側でも確認できます。また、いったんコンテナをGUIから保存しておいて、保存している状態でその他必要に応じてボリュームを追加できたりします。
114
+
115
+
116
+
117
+ ```
118
+
119
+ # まずは起動(ソースのボリュームだけシェア)
120
+
121
+ $ docker run --name demo -v ~/work/ng2-admin/src:/var/www/src -d -p 8888:8080 ng2-admin:0.7.0
122
+
123
+
124
+
125
+ # コンテナ起動したらexecでコンテナに入る
126
+
127
+ $ docker exec -it demo /bin/bash
128
+
129
+
130
+
131
+ # 入った先で watchを起動、更新があるとソースを勝手にビルド
132
+
133
+ # npm run watch:dev
134
+
135
+ ```
136
+
137
+
138
+
139
+ ![イメージ説明](96376ca78cebe1edf37254c4e4ca1a66.png)
140
+
141
+
142
+
143
+ これくらいで、あまり運用とかはわからないのですが、参考になれば....