GitLab docker 无法分叉 "Resource temporarily unavailable"
GitLab docker cannot fork "Resource temporarily unavailable"
我试图 运行 gitlab-ce docker ubuntu 服务器上的容器 version 22.04.
docker logs --follow gitlab
的日志输出结果为
execute[/opt/gitlab/bin/gitlab-ctl start alertmanager] action run
[execute] /opt/gitlab/bin/gitlab-ctl: fork: retry: Resource temporarily unavailable
即使通过 htop
监控我有足够的可用内存。 Docker 退出,错误代码为 137。我的 docker-compose.yml
文件看起来像
version: "3.7"
gitlab:
image: gitlab/gitlab-ce:latest
container_name: gitlab
restart: "no"
ports:
- "8929:8929"
- "2289:22"
hostname: "gitlab.example.com"
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url "https://gitlab.example.com"
nginx['listen_port'] = 8929
nginx['listen_https'] = false
gitlab_rails['gitlab_shell_ssh_port'] = 2289
volumes:
- ./volumes/gitlab/config:/etc/gitlab
- ./volumes/gitlab/logs:/var/log/gitlab
- ./volumes/gitlab/data:/var/opt/gitlab
shm_size: "256m"
我正在使用 docker 版本 20.10.16。其他图像在 docker 上工作正常。 ulimit -a
的输出是
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 1029348
max locked memory (kbytes, -l) 65536
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 62987
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
我在虚拟服务器上遇到了同样的问题,它看起来很像你的机器。
我猜问题出在可以同时 运行 的进程的限制上。可能你被 400 限制了,但你需要更多来 运行 你的 compose 网络。
cat /proc/user_beancounters | grep numproc
响应格式如下:held, maxheld, barrier, limit
如果你运行这个命令,你应该能够看到你非常接近超过限制(如果我的假设是正确的)。
检查这个 link,他们谈论 Java,但一般问题是相同的:
https://debianforum.de/forum/viewtopic.php?t=180774
我试图 运行 gitlab-ce docker ubuntu 服务器上的容器 version 22.04.
docker logs --follow gitlab
的日志输出结果为
execute[/opt/gitlab/bin/gitlab-ctl start alertmanager] action run
[execute] /opt/gitlab/bin/gitlab-ctl: fork: retry: Resource temporarily unavailable
即使通过 htop
监控我有足够的可用内存。 Docker 退出,错误代码为 137。我的 docker-compose.yml
文件看起来像
version: "3.7"
gitlab:
image: gitlab/gitlab-ce:latest
container_name: gitlab
restart: "no"
ports:
- "8929:8929"
- "2289:22"
hostname: "gitlab.example.com"
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url "https://gitlab.example.com"
nginx['listen_port'] = 8929
nginx['listen_https'] = false
gitlab_rails['gitlab_shell_ssh_port'] = 2289
volumes:
- ./volumes/gitlab/config:/etc/gitlab
- ./volumes/gitlab/logs:/var/log/gitlab
- ./volumes/gitlab/data:/var/opt/gitlab
shm_size: "256m"
我正在使用 docker 版本 20.10.16。其他图像在 docker 上工作正常。 ulimit -a
的输出是
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 1029348
max locked memory (kbytes, -l) 65536
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 62987
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
我在虚拟服务器上遇到了同样的问题,它看起来很像你的机器。
我猜问题出在可以同时 运行 的进程的限制上。可能你被 400 限制了,但你需要更多来 运行 你的 compose 网络。
cat /proc/user_beancounters | grep numproc
响应格式如下:held, maxheld, barrier, limit
如果你运行这个命令,你应该能够看到你非常接近超过限制(如果我的假设是正确的)。
检查这个 link,他们谈论 Java,但一般问题是相同的: https://debianforum.de/forum/viewtopic.php?t=180774