法1:在创建容器时增加共享内存大小

nvidia-docker run -it -p 10000:22 --name="zm" -v /home/zm:/data ufoym/deepo:all-cu101 /bin/bash --shm-size=20G

法2:修改正在运行的容器的共享内存设置

  1. 查看容器、共享内存
docker ps -a
df -lh | grep shm
  1. 停止容器
docker stop container_name_or_id
  1. 找到容器的配置文件所在的目录
cd /var/lib/docker/containers

注:这里会报权限不足,如果直接sudo cd /var/lib/docker/containers会报错sudo: cd:找不到命令。
原因:cd是Linux内建的命令而不是应用程序,sudo只对应用程序起作用,不能使用sudo cd。
解决方法:sudo -i 提升到root权限后再执行以上命令。

  1. 找到对应的容器目录
cd container_id

这个container_id可以通过docker ps -a查找,但是其container_id显示不全,可以通过按键盘上的tab键补全后面。

  1. 编辑hostconfig.json文件,修改"ShmSize"的值
vim hostconfig.json

找到"ShmSize": 67108864(64MB),并将其修改为您需要的值,例如"ShmSize": 34359738368(32GB)。
保存并退出编辑器。

  1. 重新启动Docker服务
systemctl restart docker
  1. 再次启动容器
docker start container_name
  1. 查看共享内存
df -lh | grep shm
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐