Problème d'installation des autorisations gitlab de docker sur Mac

J'essaie de faire Gitlab Cela fonctionne localement et je rencontre des problèmes avec des autorisations :


cp: cannot create regular file '/etc/gitlab/gitlab.rb': Permission denied


L'équipe que je fais est


sudo docker run \
--hostname local.gitlab \
--publish 443:443 --publish 80:80 --publish 2200:22 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest


Cependant, la commande précédente est terminée avec succès si j'étant omettre les arguments
--volumes

.

J'ai essayé de courir


docker exec -it gitlab update-permissions
docker restart gitlab


Mais il semble également ne pas aider.

Sortir de
docker ps

:


CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
aa0654ff45e2 gitlab/gitlab-ce:latest "/assets/wrapper" 29 seconds ago Up 3 seconds /health: starting/ 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:2200->22/tcp gitlab


Sortir de
docker logs gitlab

:


Thank you for using GitLab Docker Image!
Current version: gitlab-ce=10.3.2-ce.0

Configure GitLab for your system by editing /etc/gitlab/gitlab.rb file
And restart this container to reload settings.
To do it use docker exec:

docker exec -it gitlab vim /etc/gitlab/gitlab.rb
docker restart gitlab

For a comprehensive list of configuration options please see the Omnibus GitLab readme
[url=https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md]https://gitlab.com/gitlab-org/ ... ME.md[/url]

If this container fails to start due to permission problems try to fix it by executing:

docker exec -it gitlab update-permissions
docker restart gitlab

Installing gitlab.rb config...
cp: cannot create regular file '/etc/gitlab/gitlab.rb': Permission denied


Je suis sur macOS Sierra 10.12.6

Toute aide serait appréciée!

Mettre à jour

J'ai changé d'accès aux dossiers conformément à

, Et tout va un peu plus loin, mais maintenant, je reçois de nouvelles erreurs les autorisations. Ci-dessous est la conclusion de
docker logs gitlab

:


Thank you for using GitLab Docker Image!
Current version: gitlab-ce=10.3.2-ce.0

Configure GitLab for your system by editing /etc/gitlab/gitlab.rb file
And restart this container to reload settings.
To do it use docker exec:

docker exec -it gitlab vim /etc/gitlab/gitlab.rb
docker restart gitlab

For a comprehensive list of configuration options please see the Omnibus GitLab readme
[url=https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md]https://gitlab.com/gitlab-org/ ... ME.md[/url]

If this container fails to start due to permission problems try to fix it by executing:

docker exec -it gitlab update-permissions
docker restart gitlab

Preparing services...
Starting services...
Configuring GitLab package...
/opt/gitlab/embedded/bin/runsvdir-start: line 24: ulimit: pending signals: cannot modify limit: Operation not permitted
/opt/gitlab/embedded/bin/runsvdir-start: line 37: /proc/sys/fs/file-max: Read-only file system
gitlab preinstall:
gitlab preinstall: This node does not appear to be running a database
gitlab preinstall: Skipping version check, if you think this is an error exit now
gitlab preinstall:
Configuring GitLab...
Starting Chef Client, version 12.12.15
resolving cookbooks for run list: ["gitlab"]
Synchronizing Cookbooks:
- gitlab /0.0.1/
- package /0.1.0/
- registry /0.1.0/
- mattermost /0.1.0/
- consul /0.0.0/
- gitaly /0.1.0/
- runit /0.14.2/
Installing Cookbook Gems:
Compiling Cookbooks...
Recipe: gitlab::default
* directory[/etc/gitlab] action create

================================================================================
Error executing action `create` on resource 'directory[/etc/gitlab]'
================================================================================

Errno::EPERM
------------
Operation not permitted @ chmod_internal - /etc/gitlab

Cookbook Trace:
---------------
/opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/recipes/default.rb:33:in `from_file'

Resource Declaration:
---------------------
# In /opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/recipes/default.rb

28: directory "/etc/gitlab" do
29: owner "root"
30: group "root"
31: mode "0775"
32: only_if { node['gitlab']['manage-storage-directories']['manage_etc'] }
33: end.run_action/:create/
34:
35: if File.exists?/"/var/opt/gitlab/bootstrapped"/
36: node.default['gitlab']['bootstrap']['enable'] = false
37: end
38:

Compiled Resource:
------------------
# Declared in /opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/recipes/default.rb:28:in `from_file'

directory/"/etc/gitlab"/ do
action [:create]
retries 0
retry_delay 2
default_guard_interpreter :default
path "/etc/gitlab"
declared_type :directory
cookbook_name "gitlab"
recipe_name "default"
owner "root"
group "root"
mode "0775"
only_if { #code block }
end

Platform:
---------
x86_64-linux


================================================================================
Recipe Compile Error in /opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/recipes/default.rb
================================================================================

Errno::EPERM
------------
directory[/etc/gitlab] /gitlab::default line 28/ had an error: Errno::EPERM: Operation not permitted @ chmod_internal - /etc/gitlab

Cookbook Trace:
---------------
/opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/recipes/default.rb:33:in `from_file'

Relevant File Content:
----------------------
/opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/recipes/default.rb:

26: include_recipe 'gitlab::config'
27:
28: directory "/etc/gitlab" do
29: owner "root"
30: group "root"
31: mode "0775"
32: only_if { node['gitlab']['manage-storage-directories']['manage_etc'] }
33>> end.run_action/:create/
34:
35: if File.exists?/"/var/opt/gitlab/bootstrapped"/
36: node.default['gitlab']['bootstrap']['enable'] = false
37: end
38:
39: directory "Create /var/opt/gitlab" do
40: path "/var/opt/gitlab"
41: owner "root"
42: group "root"

Platform:
---------
x86_64-linux


Running handlers:
There was an error running gitlab-ctl reconfigure:

directory[/etc/gitlab] /gitlab::default line 28/ had an error: Errno::EPERM: Operation not permitted @ chmod_internal - /etc/gitlab

Running handlers complete
Chef Client failed. 0 resources updated in 05 seconds


J'ai essayé de changer les autorisations
/etc/gitlab

par
Get Info

et avec aide
chmod

, mais sans succès.

Mise à jour 2

J'ai refusé de GL Il a travaillé localement et a simplement mis en place une version distante du développement.
Invité:

Conrad

Confirmation de:

Utilisez le dossier de votre utilisateur. Cela vous permettra de contourner la nécessité d'installer des autorisations pour le dossier externe. Travaillé pour moi!


--volume /Users/username/gitlab/config:/etc/gitlab \
--volume /Users/username/gitlab/logs:/var/log/gitlab \
--volume /Users/username/gitlab/data:/var/opt/gitlab \

Francois

Confirmation de:

Ce que vous devez faire est de fournir des permis de lecture et d'écriture à tous dans les dossiers hôtes , qui essaient mount
/srv/gitlab/config

,
/srv/gitlab/logs

et
/srv/gitlab/data

.
Right Click > Get Info > Lock Icon

.

Ce problème est lié au général
https://docs.docker.com/docker-for-mac/osxfs/
sur mac Et comment il prend en charge les droits d'accès aux fichiers entre l'hôte et le conteneur.

Agathe

Confirmation de:

On dirait
https://gitlab.com/gitlab-org/ ... /1839
années, qui concerne une gestion plus complète:

https://about.gitlab.com/handb ... etup/
Cependant, ce bug est toujours ouvert.

Corneille

Confirmation de:

J'ai eu le même problème que vous après votre première mise à jour:

directory[/etc/gitlab] /gitlab::default line 28/ had an error: Errno::EPERM: Operation not permitted @ chmod_internal - /etc/gitlab


J'ai aussi essayé 'fix' Permis, mais en vain.

Je ne pouvais pas résoudre ce problème lorsque vous utilisez les volumes décrits
/srv/gitlab

défaut.

Seulement quand je

déplacé

Dans le répertoire utilisateur, c'était possible.

Peut-être est-il en quelque sorte connecté aux paramètres de partage des fichiers docker, Mais je crois que dans mon cas, il a également été fixé correctement.

Giselle

Confirmation de:

En plus de créer des dossiers dans le répertoire utilisateur. J'ai aussi dû changer le propriétaire de ces dossiers pour appartenir à
USERNAME

, et

ne pas

root


Donc, les étapes qui ont fonctionné pour moi étaient:

Créer des dossiers
mkdir -p ~/srv/gitlab/data ~/srv/gitlab/config ~/srv/gitlab/logs


Changer le propriétaire
sudo chown -R USERNAME:staff srv


Gérer le conteneur


docker run --detach \ 
--hostname gitlab.example.com \
--publish 443:443 --publish 80:80 --publish 22:22 \
--name gitlab \
--volume ~/srv/gitlab/config:/etc/gitlab \
--volume ~/srv/gitlab/logs:/var/log/gitlab \
--volume ~/srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest

Pour répondre aux questions, connectez-vous ou registre