質問編集履歴

2

各Dockerfileを追記

2019/01/31 01:59

投稿

toitoitoi
toitoitoi

スコア28

test CHANGED
File without changes
test CHANGED
@@ -1,8 +1,50 @@
1
- docker-composeで作ったCakePHPの環境があります。(docker-compose.yml を下記に示します)
1
+ docker-composeで作ったCakePHPの環境があります。
2
+
3
+
4
+
2
-
5
+ この環境でReact.jsも使えるようにしたいです。
6
+
7
+
8
+
9
+
10
+
3
-
11
+ そのために`phpfpm`コンテナに`npm`をインストールしたいのですが
12
+
4
-
13
+ **`yum`コマンドが存在しないため**困っています。(以下のようになります)
14
+
15
+ ```
16
+
17
+ /var/www/html/app # yum -y install nodejs
18
+
19
+ sh: yum: not found
20
+
21
+ ```
22
+
23
+
24
+
25
+
26
+
27
+ そもそも`npm install`するのは`phpfpm`コンテナで合っているのでしょうか。
28
+
29
+ また、`yum`のインストール方法が調べてもわかりませんでした。
30
+
31
+
32
+
33
+ どのようにしたらよいか教えていただきたいです。
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+ ※docker-compose.yml と各Dockerfileは以下のとおりです。
42
+
43
+
44
+
5
- ```docker-compose.yml
45
+ [docker-compose.yml]
46
+
47
+ ```
6
48
 
7
49
  version: '2'
8
50
 
@@ -116,34 +158,74 @@
116
158
 
117
159
  ```
118
160
 
119
-
120
-
121
- この環境でReact.jsも使えるようにしたいです。
122
-
123
-
124
-
125
-
126
-
127
- そのために`phpfpm`コンテナに`npm`をインストールしたいのですが
128
-
129
- **`yum`コマンドが存在しないため**困っています。(以下のようになります)
161
+ [./data/mysql/Dockerfile]
130
-
162
+
131
- ```
163
+ ```
164
+
132
-
165
+ FROM mysql:5.7
166
+
167
+ RUN usermod -u 1000 mysql
168
+
133
- /var/www/html/app # yum -y install nodejs
169
+ RUN mkdir -p /var/run/mysqld && \
134
-
170
+
135
- sh: yum: not found
171
+ chmod -R 777 /var/run/mysqld
136
-
172
+
137
- ```
173
+ ```
138
-
139
-
140
-
141
-
142
-
174
+
143
- そもそも`npm install`するのは`phpfpm`コンテナで合っているのでしょうか。
175
+ [./data/phpfpm/Dockerfile]
176
+
144
-
177
+ ```
178
+
145
- また、`yum`のインストール方法が調べてもわかりませんでした。
179
+ FROM php:7-fpm-alpine
146
-
147
-
148
-
180
+
149
- どのようにしたらよいか教えていただきたいです。
181
+ RUN set -x && \
182
+
183
+ apk add --no-cache icu-libs && \
184
+
185
+ apk add --no-cache --virtual build-dependencies icu-dev && \
186
+
187
+ NPROC=$(grep -c ^processor /proc/cpuinfo 2>/dev/null || 1) && \
188
+
189
+ docker-php-ext-install -j${NPROC} intl && \
190
+
191
+ docker-php-ext-install -j${NPROC} pdo_mysql && \
192
+
193
+ apk del --no-cache --purge build-dependencies && \
194
+
195
+ rm -rf /tmp/pear
196
+
197
+ RUN set -x && \
198
+
199
+ deluser www-data && \
200
+
201
+ addgroup -g 50 -S www-data && \
202
+
203
+ adduser -u 1000 -D -S -G www-data www-data
204
+
205
+ ```
206
+
207
+ [./data/htdocs]
208
+
209
+ ```
210
+
211
+ FROM php:7.0-apache
212
+
213
+ RUN apt-get update && apt-get install -y --no-install-recommends \
214
+
215
+ nano \
216
+
217
+ libicu-dev \
218
+
219
+ && rm -rf /var/lib/apt/lists/*
220
+
221
+
222
+
223
+ WORKDIR /root
224
+
225
+ RUN docker-php-ext-install intl pdo pdo_mysql
226
+
227
+ CMD $PRJ/bin/cake server -H 0.0.0.0 -p 80
228
+
229
+ EXPOSE 80
230
+
231
+ ```

1

「yumコマンドが存在しない」の確認方法を追記。docker-compose.ymlを追記。

2019/01/31 01:59

投稿

toitoitoi
toitoitoi

スコア28

test CHANGED
File without changes
test CHANGED
@@ -1,24 +1,118 @@
1
- docker-composeで作ったCakePHPの環境があります。
1
+ docker-composeで作ったCakePHPの環境があります。(docker-compose.yml を下記に示します)
2
2
 
3
3
 
4
4
 
5
- コンテナ一覧
5
+ ```docker-compose.yml
6
6
 
7
- ```
7
+ version: '2'
8
8
 
9
- $ docker-compose ps
9
+ services:
10
10
 
11
- Name Command State Ports
11
+ mysql:
12
12
 
13
- ---------------------------------------------------------------------------------------------------------------------
13
+ restart: always
14
14
 
15
- host docker-php-entrypoint /bin ... Up 0.0.0.0:8765->80/tcp
15
+ build: ./data/mysql/
16
16
 
17
- mysql docker-entrypoint.sh mysqld Up 0.0.0.0:3307->3306/tcp, 33060/tcp
17
+ volumes:
18
18
 
19
- nginx nginx -g daemon off; Up 0.0.0.0:443->443/tcp, 0.0.0.0:80->80/tcp
19
+ - "./data/mysql/db:/var/lib/mysql"
20
20
 
21
+ environment:
22
+
23
+ MYSQL_ROOT_PASSWORD: password
24
+
25
+ MYSQL_USER: my_app
26
+
27
+ MYSQL_PASSWORD: secret
28
+
29
+ MYSQL_DATABASE: my_app
30
+
31
+ TZ: "Asia/Tokyo"
32
+
33
+ ports:
34
+
35
+ - "3307:3306"
36
+
37
+ nginx:
38
+
39
+ restart: always
40
+
41
+ image: "nginx:mainline-alpine"
42
+
43
+ ports:
44
+
45
+ - "80:80"
46
+
47
+ - "443:443"
48
+
49
+ volumes:
50
+
21
- phpfpm docker-php-entrypoint php-fpm Up 9000/tcp
51
+ - "./data/nginx/conf:/etc/nginx/"
52
+
53
+ - "./data/htdocs:/var/www/html"
54
+
55
+ environment:
56
+
57
+ TZ: "Asia/Tokyo"
58
+
59
+ depends_on:
60
+
61
+ - phpfpm
62
+
63
+ links:
64
+
65
+ - phpfpm
66
+
67
+ phpfpm:
68
+
69
+ build: ./data/phpfpm/
70
+
71
+ environment:
72
+
73
+ TZ: "Asia/Tokyo"
74
+
75
+ volumes:
76
+
77
+ - "./data/htdocs:/var/www/html"
78
+
79
+ depends_on:
80
+
81
+ - mysql
82
+
83
+ links:
84
+
85
+ - mysql
86
+
87
+ host:
88
+
89
+ build: ./data/htdocs
90
+
91
+ environment:
92
+
93
+ TZ: "Asia/Tokyo"
94
+
95
+ PRJ: "myblog"
96
+
97
+ volumes:
98
+
99
+ - "./data/htdocs:/root"
100
+
101
+ ports:
102
+
103
+ - "8765:80"
104
+
105
+ depends_on:
106
+
107
+ - mysql
108
+
109
+ - phpfpm
110
+
111
+ links:
112
+
113
+ - mysql
114
+
115
+ - phpfpm
22
116
 
23
117
  ```
24
118
 
@@ -32,7 +126,17 @@
32
126
 
33
127
  そのために`phpfpm`コンテナに`npm`をインストールしたいのですが
34
128
 
35
- **`yum`コマンドが存在しないため**困っています。
129
+ **`yum`コマンドが存在しないため**困っています。(以下のようになります)
130
+
131
+ ```
132
+
133
+ /var/www/html/app # yum -y install nodejs
134
+
135
+ sh: yum: not found
136
+
137
+ ```
138
+
139
+
36
140
 
37
141
 
38
142