docker 容器之使用者 uid 和 gid
docker 容器的 uid 和 gid 常會讓使用者在 host 端取用 volume 時綁手綁腳,雖然有人說這其中還有安全性的考量,但是使用 sudo 好像也沒有比較好,為了可以直接存取 volume 的檔案,居然花了好久好久,久到夫人說:怎麼最近又開始抱著電腦了?……………………………………其實是電腦沒有放人 工作環境: Debian mariadb 10.11 docker(compose) 狀況:裝好 mariadb 之後,volume 的權限是 999.999 ,很煩,得 sudo 才能在本機作業,雖然也沒什麼不行,但就不愛,然後…………搞死自已 2個解法,因為不是 product 環境,先試到這兒,期望有人講白話,把這題解了,免得折騰半天 法1:雖然不能自動化,但是直覺… 先裝起來 dcshell container_name (docker exec -it $1 /bin/bash -l) usermod -u your_uid_in_host app_user; groupmod -g your_gid_in_host app_group; exit chown -R user_user:user_group docker_volume 然後參照之前的 客製 docker image 的方式, 在 docker-compose.override.yml 設定引用新的 image 法2:真的用 Dockerfile 就可以自動化嗎!?先搞懂 Dockerfile 怎麼用吧 去 下載 所需的檔案,然後加一個超奇怪的 「USER "1000"」 到 Dockerfile 裏,再回到 docker-compose 裏引用 Dockerfile 並且指定 user ,這個解法能用匪夷所思來形容,反正能解,先頂著 總而言之 書到用時恨太多! 先醬! 收工! =================== sample 檔 =============...