質問編集履歴
3
変更
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
DockerfileにCMDコマンドを3つ以上書いて正常に起動するかについて
|
test
CHANGED
@@ -1,9 +1,67 @@
|
|
1
|
-
|
1
|
+
以下のようにDockerfileに
|
2
|
+
|
3
|
+
**・redis-server
|
4
|
+
|
5
|
+
・celery(worker)
|
6
|
+
|
7
|
+
・django**
|
2
8
|
|
3
9
|
|
4
10
|
|
11
|
+
```txt
|
12
|
+
|
5
|
-
|
13
|
+
FROM gcr.io/google_appengine/python
|
6
14
|
|
7
15
|
|
8
16
|
|
17
|
+
# Create a virtualenv for the application dependencies.
|
18
|
+
|
19
|
+
# # If you want to use Python 2, use the -p python2.7 flag.
|
20
|
+
|
21
|
+
RUN virtualenv -p python3 /env
|
22
|
+
|
23
|
+
ENV PATH /env/bin:$PATH
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
ADD run.sh /usr/local/bin/run.sh
|
28
|
+
|
29
|
+
RUN apt-get update && apt-get install -y redis-server
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
ADD requirements.txt /app/requirements.txt
|
34
|
+
|
35
|
+
RUN /env/bin/pip install --upgrade pip && /env/bin/pip install -r /app/requirements.txt
|
36
|
+
|
37
|
+
ADD . /app
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
CMD gunicorn -b :$PORT image_pred.wsgi # Django起動コマンド
|
42
|
+
|
9
|
-
[
|
43
|
+
CMD ["/bin/bash", "/usr/local/bin/run.sh"] # redis-serverとcelery起動コマンド
|
44
|
+
|
45
|
+
CMD exec /bin/bash -c "trap : TERM INT; sleep infinity & wait"
|
46
|
+
|
47
|
+
```
|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
```sh
|
52
|
+
|
53
|
+
#!/bin/bash
|
54
|
+
|
55
|
+
# Run the celery worker
|
56
|
+
|
57
|
+
/usr/local/bin/celery -A celery_conf worker -l info
|
58
|
+
|
59
|
+
/usr/local/bin/redis-server
|
60
|
+
|
61
|
+
```
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
|
66
|
+
|
67
|
+
の3つの起動コマンドを書きました。これはDockerを起動させる時3つが同時に起動されるわけですが、Dockerの仕組み上CMDコマンド3つ書いて、3つ起動させても正常に動くでしょうか?
|
2
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
プロキシサーバを使い、ローカルとGKEをさせたいのですが、プロキシサーバってローカルとGKEでどっちも動かさせなければいかないのでしょうか?
|
1
|
+
プロキシサーバを使い、ローカルとGKEを通信させたいのですが、プロキシサーバってローカルとGKEでどっちも動かさせなければいかないのでしょうか?
|
2
2
|
|
3
3
|
|
4
4
|
|
1
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
プロキシサーバを動かすのはローカルだけでいいのかについて
|
test
CHANGED
@@ -1,49 +1,9 @@
|
|
1
|
-
以下の構成のデータベース情報があるとします。
|
2
|
-
|
3
|
-
|
1
|
+
プロキシサーバを使い、ローカルとGKEをさせたいのですが、プロキシサーバってローカルとGKEでどっちも動かさせなければいかないのでしょうか?
|
4
|
-
|
5
|
-
```
|
6
|
-
|
7
|
-
http://127.0.0.1:5432
|
8
|
-
|
9
|
-
```
|
10
|
-
|
11
|
-
で良いでしょうか?
|
12
2
|
|
13
3
|
|
14
4
|
|
5
|
+
[チュートリアル](https://cloud.google.com/python/django/kubernetes-engine?hl=ja)
|
15
6
|
|
16
7
|
|
17
8
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
以下はDjangoのsetting.pyのコードです
|
22
|
-
|
23
|
-
```python
|
24
|
-
|
25
|
-
DATABASES = {
|
26
|
-
|
27
|
-
'default': {
|
28
|
-
|
29
|
-
# If you are using Cloud SQL for MySQL rather than PostgreSQL, set
|
30
|
-
|
31
|
-
|
9
|
+
[cloud SQL プロキシについて](https://cloud.google.com/sql/docs/postgres/sql-proxy?hl=ja)
|
32
|
-
|
33
|
-
'ENGINE': 'django.db.backends.postgresql',
|
34
|
-
|
35
|
-
'NAME': 'polls',
|
36
|
-
|
37
|
-
'USER': os.getenv('DATABASE_USER'),
|
38
|
-
|
39
|
-
'PASSWORD': os.getenv('DATABASE_PASSWORD'),
|
40
|
-
|
41
|
-
'HOST': '127.0.0.1',
|
42
|
-
|
43
|
-
'PORT': '5432',
|
44
|
-
|
45
|
-
}
|
46
|
-
|
47
|
-
}
|
48
|
-
|
49
|
-
```
|