回答編集履歴
2
間違ったコード貼ってたので修正しました。参照リンクも追記しました。
test
CHANGED
@@ -29,7 +29,7 @@
|
|
29
29
|
├── .env
|
30
30
|
├── Dockerfile
|
31
31
|
├── app
|
32
|
-
│
|
32
|
+
│ └── _sample.txt
|
33
33
|
├── docker-compose.yml
|
34
34
|
└── entrypoint.sh
|
35
35
|
```
|
@@ -55,6 +55,9 @@
|
|
55
55
|
COPY ./entrypoint.sh /usr/local/bin/entrypoint.sh
|
56
56
|
RUN chmod +x /usr/local/bin/entrypoint.sh
|
57
57
|
|
58
|
+
RUN useradd mosuke
|
59
|
+
WORKDIR /home/mosuke
|
60
|
+
|
58
61
|
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
|
59
62
|
```
|
60
63
|
|
@@ -71,7 +74,7 @@
|
|
71
74
|
# UID, GID って環境変数で ユーザー/グループID定義してます。
|
72
75
|
- .env
|
73
76
|
volumes:
|
74
|
-
- ./app:/
|
77
|
+
- ./app:/home/mosuke/app
|
75
78
|
tty: true
|
76
79
|
stdin_open: true
|
77
80
|
command: /bin/sh
|
@@ -81,14 +84,19 @@
|
|
81
84
|
# entrypoint.sh
|
82
85
|
#!/bin/bash
|
83
86
|
|
84
|
-
# デフォルトポート(9001)は適当。特に意味ありません。
|
85
87
|
USER_ID=${UID:-9001}
|
86
88
|
GROUP_ID=${GID:-9001}
|
87
89
|
|
88
90
|
echo "Starting with UID : $USER_ID, GID: $GROUP_ID"
|
89
|
-
user
|
91
|
+
usermod -u $USER_ID -o -d /home/mosuke -m mosuke
|
90
92
|
groupmod -g $GROUP_ID mosuke
|
91
93
|
export HOME=/home/mosuke
|
94
|
+
|
95
|
+
# usermod で $HOME 配下は user に owner が変更されるが、
|
96
|
+
# $HOME 自体は root 権限となってしまう。
|
97
|
+
# このままでは ~/.vuerc や ~/.npm が作成出来ずにエラーとなってしまうため、
|
98
|
+
# 下記で owner を user に変更しておく。
|
99
|
+
chown -R $USER_ID:$GROUP_ID $HOME
|
92
100
|
|
93
101
|
exec /sbin/su-exec mosuke "$@"
|
94
102
|
```
|
@@ -117,5 +125,10 @@
|
|
117
125
|
Access the dev server via http://localhost:<your container's external mapped port>/
|
118
126
|
|
119
127
|
# これで http://[vps-server]:8080/ とかでブラウザからアクセスすれば、vuejsお馴染みのあの画面が出力されます。
|
120
|
-
# (僕の場合は
|
128
|
+
# (僕の場合は デーモンやvue周りの 設定修正が必要でしたが、本題と逸れるので割愛します。)
|
121
129
|
```
|
130
|
+
|
131
|
+
## 参考
|
132
|
+
- [【Vue CLI】Creating a Project](https://cli.vuejs.org/guide/creating-a-project.html#vue-create)
|
133
|
+
- [dockerでvolumeをマウントしたときのファイルのowner問題](https://qiita.com/yohm/items/047b2e68d008ebb0f001#%E3%81%86%E3%81%BE%E3%81%8F%E3%81%84%E3%81%8B%E3%81%AA%E3%81%84%E6%96%B9%E6%B3%951--dockerfile%E5%86%85%E3%81%A7useradd%E3%81%99%E3%82%8B)
|
134
|
+
- [usermodの使い方(特に -d, -m オプション)](https://eng-entrance.com/linux-command-usermod#-d--home-dir_HOME_DIR)
|
1
改行タブ混ざってた
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
## 解消方法: コンテナ内に特定ユーザのホームディレクトリを作成する
|
2
2
|
|
3
|
-
[【Vue CLI】Creating a Project](https://cli.vuejs.org/guide/creating-a-project.html#vue-create)
|
3
|
+
[【Vue CLI】Creating a Project](https://cli.vuejs.org/guide/creating-a-project.html#vue-create)
|
4
4
|
にて、下記の文言を見つけました。
|
5
5
|
|
6
6
|
> Saved presets will be stored in a JSON file named .vuerc in your user home directory. If you wish to modify saved presets / options, you can do so by editing this file.
|