首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >港口化GitLab数据量的移动定位

港口化GitLab数据量的移动定位
EN

Stack Overflow用户
提问于 2016-09-14 00:54:26
回答 2查看 2.2K关注 0票数 0

我正在使用8.11.0-ce.1图像找到的GitLab运行这里。我配置了我的坞-撰写卷如下:

代码语言:javascript
复制
  volumes:
    - './data/config:/etc/gitlab'
    - './data/logs:/var/log/gitlab'
    - './data/data:/var/opt/gitlab'

但是,这个磁盘的大小有限,我希望将这些卷移到/data/gitlab/目录,这个目录要大得多。

为了做到这一点,我尝试了以下步骤: 1.取下码头容器2.将数据卷复制到(cp -r /app/gitlab/ data / data/gitlab) 3上。

代码语言:javascript
复制
  volumes:
    - '/data/gitlab/config:/etc/gitlab'
    - '/data/gitlab/logs:/var/log/gitlab'
    - '/data/gitlab/data:/var/opt/gitlab'

但是,在重新启动容器时,我会得到一个连续重复的错误(参见下面)。我假设还有一个额外的步骤必须遵循?还是我做得不对?

代码语言:javascript
复制
gitlab_1  | Preparing services...
gitlab_1  | Starting services...
gitlab_1  | Configuring GitLab package...
gitlab_1  | Configuring GitLab...
gitlab_1  | /opt/gitlab/embedded/bin/runsvdir-start: line 24: ulimit: pending signals: cannot modify limit: Operation not permitted
gitlab_1  | /opt/gitlab/embedded/bin/runsvdir-start: line 34: ulimit: max user processes: cannot modify limit: Operation not permitted
gitlab_1  | /opt/gitlab/embedded/bin/runsvdir-start: line 37: /proc/sys/fs/file-max: Read-only file system
gitlab_1  |
gitlab_1  | ================================================================================
gitlab_1  | Error executing action `run` on resource 'execute[/opt/gitlab/embedded/service/gitlab-shell/bin/gitlab-keys check-permissions]'
gitlab_1  | ================================================================================
gitlab_1  |
gitlab_1  | Mixlib::ShellOut::ShellCommandFailed
gitlab_1  | ------------------------------------
gitlab_1  | Expected process to exit with [0], but received '1'
gitlab_1  | ---- Begin output of /opt/gitlab/embedded/service/gitlab-shell/bin/gitlab-keys check-permissions ----
gitlab_1  | STDOUT:
gitlab_1  | STDERR: /opt/gitlab/embedded/lib/ruby/2.3.0/logger.rb:703:in `initialize': Permission denied @ rb_sysopen - /var/log/gitlab/gitlab-shell/gitlab-shell.log (Errno::EACCES)
gitlab_1  |     from /opt/gitlab/embedded/lib/ruby/2.3.0/logger.rb:703:in `open'
gitlab_1  |     from /opt/gitlab/embedded/lib/ruby/2.3.0/logger.rb:703:in `open_logfile'
gitlab_1  |     from /opt/gitlab/embedded/lib/ruby/2.3.0/logger.rb:695:in `set_dev'
gitlab_1  |     from /opt/gitlab/embedded/lib/ruby/2.3.0/logger.rb:635:in `initialize'
gitlab_1  |     from /opt/gitlab/embedded/lib/ruby/2.3.0/logger.rb:353:in `new'
gitlab_1  |     from /opt/gitlab/embedded/lib/ruby/2.3.0/logger.rb:353:in `initialize'
gitlab_1  |     from /opt/gitlab/embedded/service/gitlab-shell/lib/gitlab_logger.rb:15:in `new'
gitlab_1  |     from /opt/gitlab/embedded/service/gitlab-shell/lib/gitlab_logger.rb:15:in `<top (required)>'
gitlab_1  |     from /opt/gitlab/embedded/service/gitlab-shell/lib/gitlab_keys.rb:4:in `require_relative'
gitlab_1  |     from /opt/gitlab/embedded/service/gitlab-shell/lib/gitlab_keys.rb:4:in `<top (required)>'
gitlab_1  |     from /opt/gitlab/embedded/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
gitlab_1  |     from /opt/gitlab/embedded/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
gitlab_1  |     from /opt/gitlab/embedded/service/gitlab-shell/bin/gitlab-keys:24:in `<main>'
gitlab_1  | ---- End output of /opt/gitlab/embedded/service/gitlab-shell/bin/gitlab-keys check-permissions ----
gitlab_1  | Ran /opt/gitlab/embedded/service/gitlab-shell/bin/gitlab-keys check-permissions returned 1
gitlab_1  |
gitlab_1  | Resource Declaration:
gitlab_1  | ---------------------
gitlab_1  | # In /opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/recipes/gitlab-shell.rb
gitlab_1  |
gitlab_1  | 124: execute "#{gitlab_shell_keys_check} check-permissions" do
gitlab_1  | 125:   user git_user
gitlab_1  | 126:   group git_group
gitlab_1  | 127: end
gitlab_1  | 128:
gitlab_1  |
gitlab_1  | Compiled Resource:
gitlab_1  | ------------------
gitlab_1  | # Declared in /opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/recipes/gitlab-shell.rb:124:in `from_file'
gitlab_1  |
gitlab_1  | execute("/opt/gitlab/embedded/service/gitlab-shell/bin/gitlab-keys check-permissions") do
gitlab_1  |   action [:run]
gitlab_1  |   retries 0
gitlab_1  |   retry_delay 2
gitlab_1  |   default_guard_interpreter :execute
gitlab_1  |   command "/opt/gitlab/embedded/service/gitlab-shell/bin/gitlab-keys check-permissions"
gitlab_1  |   backup 5
gitlab_1  |   group "git"
gitlab_1  |   returns 0
gitlab_1  |   user "git"
gitlab_1  |   declared_type :execute
gitlab_1  |   cookbook_name "gitlab"
gitlab_1  |   recipe_name "gitlab-shell"
gitlab_1  | end
gitlab_1  |
gitlab_1  | Platform:
gitlab_1  | ---------
gitlab_1  | x86_64-linux
gitlab_1  |
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-14 13:57:17

TL;博士-尝试使用cp -a而不是cp -r

详细信息:

我在https://docs.gitlab.com/omnibus/docker/#install-gitlab-using-docker-compose上使用撰写文件进行了快速操作。我确实看到了和你一样的错误。这显然是某种许可问题。当容器启动时,我注意到有一个方便的提示,它说:

代码语言:javascript
复制
# docker-compose up
Recreating gitlab2_web_1
Attaching to gitlab2_web_1
web_1  | Thank you for using GitLab Docker Image!
web_1  | Current version: gitlab-ce=8.11.5-ce.0
web_1  |
web_1  | Configure GitLab for your system by editing /etc/gitlab/gitlab.rb file
web_1  | And restart this container to reload settings.
web_1  | To do it use docker exec:
web_1  |
web_1  |   docker exec -it gitlab vim /etc/gitlab/gitlab.rb
web_1  |   docker restart gitlab
web_1  |
web_1  | For a comprehensive list of configuration options please see the Omnibus GitLab readme
web_1  | https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md
web_1  |
web_1  | If this container fails to start due to permission problems try to fix it by executing:
web_1  |
web_1  |   docker exec -it gitlab update-permissions
web_1  |   docker restart gitlab
web_1  |
web_1  | Preparing services...
web_1  | Starting services...

我尝试了一些有限的成功..。按指示运行有点棘手,因为容器正在不断地重新启动。但是,由于您是通过compose运行的,所以可以添加:

代码语言:javascript
复制
entrypoint: update-permissions

也就是这样的东西:

代码语言:javascript
复制
web:
  image: 'gitlab/gitlab-ce:latest'
  restart: always
  hostname: 'gitlab.example.com'
  entrypoint: update-permissions
  environment:
    GITLAB_OMNIBUS_CONFIG: |
      external_url 'https://gitlab.example.com'
      # Add any other gitlab.rb configuration here, each on its own line
  ports:
    - '80:80'
    - '443:443'
    - '22:22'
  volumes:
    - '/srv/gitlab/config:/etc/gitlab'
    - '/srv/gitlab/logs:/var/log/gitlab'
    - '/srv/gitlab/data:/var/opt/gitlab'

到相关的服务配置。它会重新创建容器,但这很好。然而,对我来说,在我这样做之后,我似乎仍然对redis有一些问题。

不过,由于这只是磁盘上的文件,所以我想在复制时保留所有权等等,这似乎很好。就你而言,我猜那是:

代码语言:javascript
复制
cp -a /app/gitlab/data/ /data/gitlab
票数 3
EN

Stack Overflow用户

发布于 2017-02-19 02:56:35

以下是移动位置的GitLab的步骤:

  1. 运行新的GitLab实例,例如: docker -分离\--主机名gitlab.example.com \--发布443:443 -发布80:80 --发布22:22 \-名称gitlab \--始终重新启动\--音量/srv/gitlab/config:/etc/gitlab \-册/srv/gitlab/log:/var/log/gitlab\-音量/srv/gitlab/数据:/var/opt/gitlab/gitlab/gitlab-ce:最新的
  2. 片刻后,请停止容器中的所需服务,以避免冲突: docker exec -it gitlab /bin/bash -c 'gitlab-ctl停止独角兽&& gitlab-ctl停止搁浅&& gitlab停止‘
  3. 将重要的数据和配置文件夹从旧的GitLab复制到新的GitLab容器。假设您的新GitLab容器称为 GitLab ,并且旧的GitLab卷位置是/srv/ (请参阅步骤1中的卷位置引用): docker exec -it -u git gitlab /bin/bash -c 'rsync -avz -avz @SERVER_LOCATION:/srv/ gitlab /config /etc/ gitlab /‘docker exec -it -u git /bin/bash -c 'rsync -avz user@SERVER_LOCATION:/srv/gitlab/logs/ /var/log/gitlab/’docker exec -it -u gitlab /bin/bash -c 'rsync user@SERVER_LOCATION:rsync/srv/gitlab/data/ /var/opt/gitlab/ gitlab/ (替换位置服务器的SERVER_LOCATION。如果您的文件位于同一台计算机中,请使用docker cp命令。)
  4. 重新启动容器: 码头重新启动gitlab
  5. 几秒钟后(20分钟)。更新权限文件: docker exec -it gitlab /bin/bash -c "chown -R git /var/opt/ gitlab /gitlab-rails/uploads /var/opt/gitlab/gitlab-rails/上载-type f -exec chmod 0644 {} }& find /var/opt/gitlab/gitlab/ -type d -not -path /var/opt/gitlab/gitlab/rails/uploads -exec chmod 0700 {} \ \;“docker exec -it gitlab /bin/bash -c‘update--权限 为了检查正确的工作: docker exec -it gitlab /bin/bash -c 'gitlab-rake gitlab:checkSANITIZE=true‘ (如果在此步骤中返回任何错误,则读取该消息并应用推荐。)
  6. 生成初始迁移的备份(如果需要的话): docker exec -it gitlab /bin/bash -c 'gitlab-rake gitlab:备份:创建
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39480989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档