GitLab基础:MacOS下容器化方式无法启动问题的记录
发布日期:2021-06-30 20:21:01
浏览次数:2
分类:技术文章
本文共 17174 字,大约阅读时间需要 57 分钟。
昨天验证GitLab的一个功能时,碰到了一个GitLab因空间不足导致的无法启动的问题,实际是因为Docker Desktop的设定限制的原因,这里memo一下。
目录
环境说明
- OS
liumiaocn:gitlab liumiao$ sw_versProductName: Mac OS XProductVersion: 10.15.6BuildVersion: 19G73liumiaocn:gitlab liumiao$
- Docker
liumiaocn:gitlab liumiao$ docker versionClient: Docker Engine - Community Cloud integration 0.1.18 Version: 19.03.13 API version: 1.40 Go version: go1.13.15 Git commit: 4484c46d9d Built: Wed Sep 16 16:58:31 2020 OS/Arch: darwin/amd64 Experimental: falseServer: Docker Engine - Community Engine: Version: 19.03.13 API version: 1.40 (minimum version 1.12) Go version: go1.13.15 Git commit: 4484c46d9d Built: Wed Sep 16 17:07:04 2020 OS/Arch: linux/amd64 Experimental: true containerd: Version: v1.3.7 GitCommit: 8fba4e9a7d01810a393d5d25a3621dc101981175 runc: Version: 1.0.0-rc10 GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd docker-init: Version: 0.18.0 GitCommit: fec3683liumiaocn:gitlab liumiao$
- docker-compose
liumiaocn:gitlab liumiao$ docker-compose versiondocker-compose version 1.27.4, build 40524192docker-py version: 4.3.1CPython version: 3.7.7OpenSSL version: OpenSSL 1.1.1g 21 Apr 2020liumiaocn:gitlab liumiao$
现象摘录
- docker-compose.yml
liumiaocn:gitlab liumiao$ lsdocker-compose.ymlliumiaocn:gitlab liumiao$ cat docker-compose.yml version: '2' services: # Version Control service: Gitlab gitlab: image: gitlab/gitlab-ce:12.10.5-ce.0 ports: - "32001:80" - "30022:22" - "443:443" volumes: - ./log/:/var/log/gitlab - ./data/:/var/opt/gitlab - ./conf/:/etc/gitlab restart: "no"liumiaocn:gitlab liumiao$ pwd/Users/liumiao/gitlabliumiaocn:gitlab liumiao$
-
启动命令:docker-compose up
-
启动提示信息1
gitlab_1 | /opt/gitlab/embedded/bin/runsvdir-start: line 24: ulimit: pending signals: cannot modify limit: Operation not permittedgitlab_1 | /opt/gitlab/embedded/bin/runsvdir-start: line 37: /proc/sys/fs/file-max: Read-only file system
- 启动提示信息2
gitlab_1 | Errno::ENOSPC: No space left on device @ dir_s_mkdir - /tmp/prometheus-mmap20201112-959-1xe4n44gitlab_1 | /opt/gitlab/embedded/service/gitlab-rails/config/initializers/7_prometheus_metrics.rb:18:in `'
- 启动提示信息3
gitlab_1 | Multiple failures occurred:gitlab_1 | * Mixlib::ShellOut::ShellCommandFailed occurred in chef run: bash[migrate gitlab-rails database] (gitlab::database_migrations line 54) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'gitlab_1 | ---- Begin output of "bash" "/tmp/chef-script20201112-31-ygxi0o" ----gitlab_1 | STDOUT: rake aborted!gitlab_1 | Errno::ENOSPC: No space left on device @ dir_s_mkdir - /tmp/prometheus-mmap20201112-959-1xe4n44
原因分析
开始没有注意NO SPACE的信息,第一处其实并不是问题,而且我的SIP都关掉了
liumiaocn:gitlab liumiao$ csrutil statusSystem Integrity Protection status: disabled.liumiaocn:gitlab liumiao$
此时的原因在于HOME满了,从这里看不出来
df可以看到如下信息,但是此处的100%实际并不是问题,或者说不是此处错误的问题。而且是容器方式启动,容器中的/tmp并不和这里直接关联。liumiaocn:gitlab liumiao$ df .liumiaocn:gitlab liumiao$ df Filesystem 512-blocks Used Available Capacity iused ifree %iused Mounted on/dev/disk1s5 1953800440 21908784 334021472 7% 488379 9768513821 0% /devfs 379 379 0 100% 656 0 100% /dev/dev/disk1s1 1953800440 1589978672 334021472 83% 4042967 9764959233 0% /System/Volumes/Data/dev/disk1s4 1953800440 6293592 334021472 2% 4 9769002196 0% /private/var/vmmap auto_home 0 0 0 100% 0 0 100% /System/Volumes/Data/homeliumiaocn:gitlab liumiao$
Docker Desktop
MacOS下Docker安装是通过Docker Desktop来进行的,确认了一下此处的限制
然后看了一下本地镜像和容器以及卷的大小,发现应该是此处超过限制了对应方法
- 措施1: 调整Disk Image Size
- 措施2: 删除并释放不用镜像、容器和卷
重新启动之后问题得到了解决。
错误详细信息摘录
liumiaocn:gitlab liumiao$ docker-compose upCreating network "gitlab_default" with the default driverCreating gitlab_gitlab_1 ... doneAttaching to gitlab_gitlab_1gitlab_1 | Thank you for using GitLab Docker Image!gitlab_1 | Current version: gitlab-ce=12.10.5-ce.0gitlab_1 | ...省略gitlab_1 | Preparing services...gitlab_1 | /opt/gitlab/embedded/bin/runsvdir-start: line 24: ulimit: pending signals: cannot modify limit: Operation not permittedgitlab_1 | /opt/gitlab/embedded/bin/runsvdir-start: line 37: /proc/sys/fs/file-max: Read-only file systemgitlab_1 | Starting services...gitlab_1 | Configuring GitLab...gitlab_1 | Starting Chef Client, version 14.14.29gitlab_1 | resolving cookbooks for run list: ["gitlab"]...省略gitlab_1 | Compiling Cookbooks...gitlab_1 | Recipe: gitlab::defaultgitlab_1 | * directory[/etc/gitlab] action creategitlab_1 | - change mode from '0755' to '0775'...省略gitlab_1 | * ruby_block[warn pending postgresql restart] action run (skipped due to only_if)gitlab_1 | * execute[reload postgresql] action nothing (skipped due to action :nothing)gitlab_1 | * execute[start postgresql] action nothing (skipped due to action :nothing)gitlab_1 | Recipe: gitlab::database_migrationsgitlab_1 | * bash[migrate gitlab-rails database] action rungitlab_1 | [execute] rake aborted!gitlab_1 | Errno::ENOSPC: No space left on device @ dir_s_mkdir - /tmp/prometheus-mmap20201112-959-1xe4n44gitlab_1 | /opt/gitlab/embedded/service/gitlab-rails/config/initializers/7_prometheus_metrics.rb:18:in `'gitlab_1 | /opt/gitlab/embedded/service/gitlab-rails/config/environment.rb:5:in ` 'gitlab_1 | /opt/gitlab/embedded/bin/bundle:23:in `load'gitlab_1 | /opt/gitlab/embedded/bin/bundle:23:in ` 'gitlab_1 | Tasks: TOP => gitlab:db:configure => environmentgitlab_1 | (See full trace by running task with --trace)gitlab_1 | gitlab_1 | ================================================================================gitlab_1 | Error executing action `run` on resource 'bash[migrate gitlab-rails database]'gitlab_1 | ================================================================================gitlab_1 | gitlab_1 | Mixlib::ShellOut::ShellCommandFailedgitlab_1 | ------------------------------------gitlab_1 | Expected process to exit with [0], but received '1'gitlab_1 | ---- Begin output of "bash" "/tmp/chef-script20201112-31-ygxi0o" ----gitlab_1 | STDOUT: rake aborted!gitlab_1 | Errno::ENOSPC: No space left on device @ dir_s_mkdir - /tmp/prometheus-mmap20201112-959-1xe4n44gitlab_1 | /opt/gitlab/embedded/service/gitlab-rails/config/initializers/7_prometheus_metrics.rb:18:in ` 'gitlab_1 | /opt/gitlab/embedded/service/gitlab-rails/config/environment.rb:5:in ` 'gitlab_1 | /opt/gitlab/embedded/bin/bundle:23:in `load'gitlab_1 | /opt/gitlab/embedded/bin/bundle:23:in ` 'gitlab_1 | Tasks: TOP => gitlab:db:configure => environmentgitlab_1 | (See full trace by running task with --trace)gitlab_1 | STDERR: gitlab_1 | ---- End output of "bash" "/tmp/chef-script20201112-31-ygxi0o" ----gitlab_1 | Ran "bash" "/tmp/chef-script20201112-31-ygxi0o" returned 1gitlab_1 | gitlab_1 | Resource Declaration:gitlab_1 | ---------------------gitlab_1 | # In /opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/recipes/database_migrations.rbgitlab_1 | gitlab_1 | 54: bash "migrate gitlab-rails database" dogitlab_1 | 55: code <<-EOHgitlab_1 | 56: set -egitlab_1 | 57: log_file="#{node['gitlab']['gitlab-rails']['log_directory']}/gitlab-rails-db-migrate-$(date +%Y-%m-%d-%H-%M-%S).log"gitlab_1 | 58: umask 077gitlab_1 | 59: /opt/gitlab/bin/gitlab-rake gitlab:db:configure 2>& 1 | tee ${log_file}gitlab_1 | 60: STATUS=${PIPESTATUS[0]}gitlab_1 | 61: chown #{account_helper.gitlab_user}:#{account_helper.gitlab_group} ${log_file}gitlab_1 | 62: echo $STATUS > #{db_migrate_status_file}gitlab_1 | 63: exit $STATUSgitlab_1 | 64: EOHgitlab_1 | 65: environment env_variables unless env_variables.empty?gitlab_1 | 66: notifies :run, "execute[clear the gitlab-rails cache]", :immediatelygitlab_1 | 67: dependent_services.each do |svc|gitlab_1 | 68: notifies :restart, svc, :immediatelygitlab_1 | 69: endgitlab_1 | 70: not_if "(test -f #{db_migrate_status_file}) && (cat #{db_migrate_status_file} | grep -Fx 0)"gitlab_1 | 71: only_if { node['gitlab']['gitlab-rails']['auto_migrate'] }gitlab_1 | 72: endgitlab_1 | 73: gitlab_1 | gitlab_1 | Compiled Resource:gitlab_1 | ------------------gitlab_1 | # Declared in /opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/recipes/database_migrations.rb:54:in `from_file'gitlab_1 | gitlab_1 | bash("migrate gitlab-rails database") dogitlab_1 | action [:run]gitlab_1 | default_guard_interpreter :defaultgitlab_1 | command nilgitlab_1 | backup 5gitlab_1 | interpreter "bash"gitlab_1 | declared_type :bashgitlab_1 | cookbook_name "gitlab"gitlab_1 | recipe_name "database_migrations"gitlab_1 | code " set -e\n log_file=\"/var/log/gitlab/gitlab-rails/gitlab-rails-db-migrate-$(date +%Y-%m-%d-%H-%M-%S).log\"\n umask 077\n /opt/gitlab/bin/gitlab-rake gitlab:db:configure 2>& 1 | tee ${log_file}\n STATUS=${PIPESTATUS[0]}\n chown git:git ${log_file}\n echo $STATUS > /var/opt/gitlab/gitlab-rails/upgrade-status/db-migrate-873248b1f0d3a7a5535771a3a1635803-ed53d560372\n exit $STATUS\n"gitlab_1 | domain nilgitlab_1 | user nilgitlab_1 | not_if "(test -f /var/opt/gitlab/gitlab-rails/upgrade-status/db-migrate-873248b1f0d3a7a5535771a3a1635803-ed53d560372) && (cat /var/opt/gitlab/gitlab-rails/upgrade-status/db-migrate-873248b1f0d3a7a5535771a3a1635803-ed53d560372 | grep -Fx 0)"gitlab_1 | only_if { #code block }gitlab_1 | endgitlab_1 | gitlab_1 | System Info:gitlab_1 | ------------gitlab_1 | chef_version=14.14.29gitlab_1 | platform=ubuntugitlab_1 | platform_version=16.04gitlab_1 | ruby=ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-linux]gitlab_1 | program_name=/opt/gitlab/embedded/bin/chef-clientgitlab_1 | executable=/opt/gitlab/embedded/bin/chef-clientgitlab_1 | gitlab_1 | Recipe: gitlab::gitlab-railsgitlab_1 | * execute[clear the gitlab-rails cache] action rungitlab_1 | [execute] rake aborted!gitlab_1 | Errno::ENOSPC: No space left on device @ dir_s_mkdir - /tmp/prometheus-mmap20201112-1265-1cs70wwgitlab_1 | /opt/gitlab/embedded/service/gitlab-rails/config/initializers/7_prometheus_metrics.rb:18:in ` 'gitlab_1 | /opt/gitlab/embedded/service/gitlab-rails/config/environment.rb:5:in ` 'gitlab_1 | /opt/gitlab/embedded/bin/bundle:23:in `load'gitlab_1 | /opt/gitlab/embedded/bin/bundle:23:in ` 'gitlab_1 | Tasks: TOP => cache:clear => cache:clear:redis => environmentgitlab_1 | (See full trace by running task with --trace)gitlab_1 | gitlab_1 | ================================================================================gitlab_1 | Error executing action `run` on resource 'execute[clear the gitlab-rails cache]'gitlab_1 | ================================================================================gitlab_1 | gitlab_1 | Mixlib::ShellOut::ShellCommandFailedgitlab_1 | ------------------------------------gitlab_1 | Expected process to exit with [0], but received '1'gitlab_1 | ---- Begin output of /opt/gitlab/bin/gitlab-rake cache:clear ----gitlab_1 | STDOUT: gitlab_1 | STDERR: rake aborted!gitlab_1 | Errno::ENOSPC: No space left on device @ dir_s_mkdir - /tmp/prometheus-mmap20201112-1265-1cs70wwgitlab_1 | /opt/gitlab/embedded/service/gitlab-rails/config/initializers/7_prometheus_metrics.rb:18:in ` 'gitlab_1 | /opt/gitlab/embedded/service/gitlab-rails/config/environment.rb:5:in ` 'gitlab_1 | /opt/gitlab/embedded/bin/bundle:23:in `load'gitlab_1 | /opt/gitlab/embedded/bin/bundle:23:in ` 'gitlab_1 | Tasks: TOP => cache:clear => cache:clear:redis => environmentgitlab_1 | (See full trace by running task with --trace)gitlab_1 | ---- End output of /opt/gitlab/bin/gitlab-rake cache:clear ----gitlab_1 | Ran /opt/gitlab/bin/gitlab-rake cache:clear returned 1gitlab_1 | gitlab_1 | Resource Declaration:gitlab_1 | ---------------------gitlab_1 | # In /opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/recipes/gitlab-rails.rbgitlab_1 | gitlab_1 | 429: execute "clear the gitlab-rails cache" dogitlab_1 | 430: command "/opt/gitlab/bin/gitlab-rake cache:clear"gitlab_1 | 431: action :nothinggitlab_1 | 432: not_if { omnibus_helper.not_listening?('redis') || !node['gitlab']['gitlab-rails']['rake_cache_clear'] }gitlab_1 | 433: endgitlab_1 | 434: gitlab_1 | gitlab_1 | Compiled Resource:gitlab_1 | ------------------gitlab_1 | # Declared in /opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/recipes/gitlab-rails.rb:429:in `from_file'gitlab_...省略gitlab_1 | Recipe: package::sysctlgitlab_1 | * execute[reload all sysctl conf] action rungitlab_1 | [execute] * Applying /etc/sysctl.d/10-console-messages.conf ...gitlab_1 | * Applying /etc/sysctl.d/10-ipv6-privacy.conf ...gitlab_1 | * Applying /etc/sysctl.d/10-kernel-hardening.conf ...gitlab_1 | * Applying /etc/sysctl.d/10-link-restrictions.conf ...gitlab_1 | sysctl: setting key "kernel.printk": Read-only file systemgitlab_1 | sysctl: setting key "net.ipv6.conf.all.use_tempaddr": Read-only file systemgitlab_1 | sysctl: setting key "net.ipv6.conf.default.use_tempaddr": Read-only file systemgitlab_1 | sysctl: setting key "kernel.kptr_restrict": Read-only file systemgitlab_1 | sysctl: setting key "fs.protected_hardlinks": Read-only file systemgitlab_1 | sysctl: setting key "fs.protected_symlinks": Read-only file systemgitlab_1 | sysctl: setting key "kernel.sysrq": Read-only file systemgitlab_1 | sysctl: setting key "net.ipv4.conf.default.rp_filter": Read-only file systemgitlab_1 | sysctl: setting key "net.ipv4.conf.all.rp_filter": Read-only file systemgitlab_1 | sysctl: setting key "net.ipv4.tcp_syncookies": Read-only file systemgitlab_1 | sysctl: setting key "kernel.yama.ptrace_scope": Read-only file systemgitlab_1 | sysctl: setting key "vm.mmap_min_addr": Read-only file systemgitlab_1 | sysctl: setting key "kernel.sem": Read-only file systemgitlab_1 | sysctl: setting key "kernel.shmall": Read-only file systemgitlab_1 | sysctl: setting key "kernel.shmmax": Read-only file systemgitlab_1 | * Applying /etc/sysctl.d/10-magic-sysrq.conf ...gitlab_1 | * Applying /etc/sysctl.d/10-network-security.conf ...gitlab_1 | * Applying /etc/sysctl.d/10-ptrace.conf ...gitlab_1 | * Applying /etc/sysctl.d/10-zeropage.conf ...gitlab_1 | * Applying /etc/sysctl.d/90-omnibus-gitlab-kernel.sem.conf ...gitlab_1 | * Applying /etc/sysctl.d/90-omnibus-gitlab-kernel.shmall.conf ...gitlab_1 | * Applying /etc/sysctl.d/90-omnibus-gitlab-kernel.shmmax.conf ...gitlab_1 | * Applying /etc/sysctl.d/99-sysctl.conf ...gitlab_1 | * Applying /etc/sysctl.conf ...gitlab_1 | - execute sysctl -e --systemgitlab_1 | gitlab_1 | Running handlers:gitlab_1 | Running handlers completegitlab_1 | There was an error running gitlab-ctl reconfigure:gitlab_1 | gitlab_1 | Multiple failures occurred:gitlab_1 | * Mixlib::ShellOut::ShellCommandFailed occurred in chef run: bash[migrate gitlab-rails database] (gitlab::database_migrations line 54) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'gitlab_1 | ---- Begin output of "bash" "/tmp/chef-script20201112-31-ygxi0o" ----gitlab_1 | STDOUT: rake aborted!gitlab_1 | Errno::ENOSPC: No space left on device @ dir_s_mkdir - /tmp/prometheus-mmap20201112-959-1xe4n44gitlab_1 | /opt/gitlab/embedded/service/gitlab-rails/config/initializers/7_prometheus_metrics.rb:18:in ` 'gitlab_1 | /opt/gitlab/embedded/service/gitlab-rails/config/environment.rb:5:in ` 'gitlab_1 | /opt/gitlab/embedded/bin/bundle:23:in `load'gitlab_1 | /opt/gitlab/embedded/bin/bundle:23:in ` 'gitlab_1 | Tasks: TOP => gitlab:db:configure => environmentgitlab_1 | (See full trace by running task with --trace)gitlab_1 | STDERR: gitlab_1 | ---- End output of "bash" "/tmp/chef-script20201112-31-ygxi0o" ----gitlab_1 | Ran "bash" "/tmp/chef-script20201112-31-ygxi0o" returned 1gitlab_1 | * Mixlib::ShellOut::ShellCommandFailed occurred in delayed notification: execute[clear the gitlab-rails cache] (gitlab::gitlab-rails line 429) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'gitlab_1 | ---- Begin output of /opt/gitlab/bin/gitlab-rake cache:clear ----gitlab_1 | STDOUT: gitlab_1 | STDERR: rake aborted!gitlab_1 | Errno::ENOSPC: No space left on device @ dir_s_mkdir - /tmp/prometheus-mmap20201112-1265-1cs70wwgitlab_1 | /opt/gitlab/embedded/service/gitlab-rails/config/initializers/7_prometheus_metrics.rb:18:in ` 'gitlab_1 | /opt/gitlab/embedded/service/gitlab-rails/config/environment.rb:5:in ` 'gitlab_1 | /opt/gitlab/embedded/bin/bundle:23:in `load'gitlab_1 | /opt/gitlab/embedded/bin/bundle:23:in ` 'gitlab_1 | Tasks: TOP => cache:clear => cache:clear:redis => environmentgitlab_1 | (See full trace by running task with --trace)gitlab_1 | ---- End output of /opt/gitlab/bin/gitlab-rake cache:clear ----gitlab_1 | Ran /opt/gitlab/bin/gitlab-rake cache:clear returned 1gitlab_1 | gitlab_1 | Chef Client failed. 217 resources updated in 01 minutes 33 secondsgitlab_gitlab_1 exited with code 1liumiaocn:gitlab liumiao$
转载地址:https://liumiaocn.blog.csdn.net/article/details/109666447 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月18日 01时57分05秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
tensor/矩阵/图片等更换通道,调整size
2019-04-30
本地和colab 中 改变tensorflow的版本
2019-04-30
Camera-ready ddl
2019-04-30
CUB-200鸟类数据集
2019-04-30
Python反射机制
2019-04-30
YAPF —— Python代码格式化工具
2019-04-30
UGC 用户产生内容
2019-04-30
ranger
2019-04-30
slurm
2019-04-30
xfce4
2019-04-30
xrdp
2019-04-30
Raft算法
2019-04-30
Python计算文本BLEU分数
2019-04-30
swap内存(linux)
2019-04-30
torch.distributed 分布式
2019-04-30
PyPy
2019-04-30
MATLAB与CUDA
2019-04-30
Linux png转jpg (convert命令)
2019-04-30
NAS (Network Attached Storage 网络附属存储)
2019-04-30
Ubuntu更新后终端中字体的颜色全是白色
2019-04-30