docker问题处理记录

1.在启动lobehub/lobe-chat:latest容器时报错:

  #  node[1]: std::unique_ptr<long unsigned int> node::WorkerThreadsTaskRunner::DelayedTaskScheduler::Start() at ../src/node_platform.cc:68
  #  Assertion failed: (0) == (uv_thread_create(t.get(), start_thread, this))

----- Native stack trace -----

 1: 0xcbc127 node::Assert(node::AssertionInfo const&) [node]
 2: 0xd3b96e node::WorkerThreadsTaskRunner::WorkerThreadsTaskRunner(int) [node]
 3: 0xd3ba4c node::NodePlatform::NodePlatform(int, v8::TracingController*, v8::PageAllocator*) [node]
 4: 0xc702d6  [node]
 5: 0xc717d4 node::Start(int, char**) [node]
 6: 0x7fa5c4b0024a  [/lib/x86_64-linux-gnu/libc.so.6]
 7: 0x7fa5c4b00305 __libc_start_main [/lib/x86_64-linux-gnu/libc.so.6]
 8: 0xbc630e _start [node]

经查询是docker容器受到资源的限制,无法创建线程。需要在docker run时添加--security-opt seccomp=unconfined参数,允许容器执行全部的系统调用

docker run -d --name lobe-chat -p 10084:3210 --security-opt seccomp=unconfined -e ACCESS_CODE=lobe66xxx lobehub/lobe-chat:latest

docker compose写法如下:

security_opt:
    - seccomp=unconfined

2.在宿主机中根据pid查找容器

docker ps --no-trunc
CONTAINER ID                                                       IMAGE                      COMMAND      
bc5f84d815a84df2a218e1e50e5a46d49e1fdc5bffe5445eb04a4653cb8a40da   lutixiaya/nwebdav:latest   "/usr/local/nginx/sbin/nginx -g 'daemon off;'"

根据COMAND列查找进程
 ps aux|grep nginx
root     2945745  0.0  0.0   3700   108 ?        Ss    2023   0:00 nginx: master process /usr/local/nginx/sbin/nginx -g daemon off;

查看对应pid的cgroup文件即可根据id查找到容器
 cat /proc/2945745/cgroup 
11:hugetlb:/docker/bc5f84d815a84df2a218e1e50e5a46d49e1fdc5bffe5445eb04a4653cb8a40da
10:perf_event:/docker/bc5f84d815a84df2a218e1e50e5a46d49e1fdc5bffe5445eb04a4653cb8a40da
9:blkio:/docker/bc5f84d815a84df2a218e1e50e5a46d49e1fdc5bffe5445eb04a4653cb8a40da
8:pids:/docker/bc5f84d815a84df2a218e1e50e5a46d49e1fdc5bffe5445eb04a4653cb8a40da
7:cpuacct,cpu:/docker/bc5f84d815a84df2a218e1e50e5a46d49e1fdc5bffe5445eb04a4653cb8a40da
6:net_prio,net_cls:/docker/bc5f84d815a84df2a218e1e50e5a46d49e1fdc5bffe5445eb04a4653cb8a40da
5:freezer:/docker/bc5f84d815a84df2a218e1e50e5a46d49e1fdc5bffe5445eb04a4653cb8a40da
4:devices:/docker/bc5f84d815a84df2a218e1e50e5a46d49e1fdc5bffe5445eb04a4653cb8a40da
3:cpuset:/docker/bc5f84d815a84df2a218e1e50e5a46d49e1fdc5bffe5445eb04a4653cb8a40da
2:memory:/docker/bc5f84d815a84df2a218e1e50e5a46d49e1fdc5bffe5445eb04a4653cb8a40da
1:name=systemd:/docker/bc5f84d815a84df2a218e1e50e5a46d49e1fdc5bffe5445eb04a4653cb8a40da

3.更新容器开机自启动

docker container inspect --format='{{.HostConfig.RestartPolicy.Name}}' 容器id
 如果该容器已经设置为开机自启,输出 always。如果没有设置,则会输出 no。
docker update --restart=always 容器id

本文作者:物是人非a

本文链接:https://www.cnblogs.com/zops/p/18220115

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   物是人非a  阅读(201)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起