回答編集履歴

1

プロセスの実行ユーザIDの問題として回答に追記

2020/04/13 01:42

投稿

mit0223
mit0223

スコア3401

test CHANGED
@@ -1,4 +1,4 @@
1
- コードがタグ付けされてないのと docker のバージョンも書かれていなかったりして、非常に回答しづらいのですが、おそらく、docker-compose.yml の
1
+ おそらく、docker-compose.yml の
2
2
 
3
3
  ```yml
4
4
 
@@ -25,3 +25,33 @@
25
25
  tmpfs: /run
26
26
 
27
27
  ```
28
+
29
+
30
+
31
+ ---------
32
+
33
+ 2020/4/13 go.sock に直接パーミッション 777 と変更すれば、動作するということですので、全面的に回答を見直します。
34
+
35
+
36
+
37
+ nginx のワーカプロセスはコンテナ内でもユーザID nginx で動作します。したがって、/run/go.socket がgolang 側の root ユーザで作成されていると Permission denied のエラーになります。
38
+
39
+ Dockerfile で /etc/nginx/nginx.conf の user ディレクティブの値を以下のように変更(COPY で修正済みのものを配置か sed -i で編集)すれば回避できるのではないでしょうか?
40
+
41
+
42
+
43
+ 修正前 /etc/nginx/nginx.conf:
44
+
45
+ ```
46
+
47
+ user nginx;
48
+
49
+ ```
50
+
51
+ 修正後 /etc/nginx/nginx.conf:
52
+
53
+ ```
54
+
55
+ user root;
56
+
57
+ ```