docker之cgroup版本问题

这篇具有很好参考价值的文章主要介绍了docker之cgroup版本问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 环境

# Linux 版本

uname -a

Linux mingy-ecs 5.15.0-83-generic #92-Ubuntu SMP Mon Aug 14 09:30:42 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

docker之cgroup版本问题,docker,容器,运维


# Docker 版本
Version:    24.0.7

# Cgroup 版本
Cgroup Version: 2

docker之cgroup版本问题,docker,容器,运维

# 问题

docker容器无法启动,报错

docker之cgroup版本问题,docker,容器,运维

WARNING: the "devices" cgroup should be in its own hierarchy.
WARNING: it looks like the "devices" cgroup is not mounted.
......
Error starting daemon: Devices cgroup isn't mounted

Failed to mount cgroup at /sys/fs/cgroup/systemd: Operation not permitted · Issue #4072 · lxc/lxc

# 原因

Linux 5.x 及以上内核改用了 cgroup v2 版本,而容器镜像环境需要的还是 cgroup v1 版本。

同时由于 cgroup v2 和 v1 不能兼容,因此导致容器启动后,容器内相关服务无法正常启动。

Linux 4.x 内核版本才用的 cgroup v1 版本,可正常使用,无影响。

# 解决

既然 docker 容器只支持 cgroup v1 版本,那么我们可以把宿主机(host)的 cgroup 版本改成 v1 即可

编辑修改配置文件 /etc/default/grup

# 注释掉之前的 GRUB_CMDLINE_LINUX 内容
sed -i '/GRUB_CMDLINE_LINUX=/s/^/# /' /etc/default/grub

# 插入新的 GRUB_CMDLINE_LINUX 内容
sed -i '/GRUB_CMDLINE_LINUX=/a\GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=0 systemd.unified_cgroup_hierarchy=0"' /etc/default/grub

docker之cgroup版本问题,docker,容器,运维

# 更新 grub 配置
update-grub

# 重启系统
reboot

成功修改 Cgroup Version 为 v1 版本

docker之cgroup版本问题,docker,容器,运维

成功解决问题文章来源地址https://www.toymoban.com/news/detail-821549.html

到了这里,关于docker之cgroup版本问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 这里做一篇关于wsl2更新到最新版本使用镜像网络,但是docker创建的容器不能被访问的问题(困扰了我一整天)

    在windows2023年9月的一次更新中,wsl2支持了新的网络模式镜像模式,他能够通过localhost地址从wsl2内部连接到windows的127.0.0.1地址 ##相当于是和本地主机拥有同一个ip 原wsl2是不支持的,虽说是net网络模式,可访问主机,主机也可访问wsl2,同时也可上网,但是不能被网络访问,如

    2024年04月16日
    浏览(51)
  • K8S自动化运维容器化(Docker)集群程序

    1.什么是K8S K8S全程为Kubernetes,由于K到S直接有8个字母简称为K8S。 版本:目前一般是1.18~1.2.0,后续可能会到1.24-1.26,1.24版本后丢弃了docker(如需要使用需要第三方插件配合),目前最新版本是1.27 官网:https://kubernetes.io GitHub:GitHub - kubernetes/kubernetes: Production-Grade Container Schedul

    2024年02月10日
    浏览(69)
  • 【运维知识大神篇】运维人必学的Docker教程1(Docker安装部署+Docker镜像管理+容器管理常用命令+搭建docker的本地yum源+windows系统安装docker环境)

    本篇文章开始给大家介绍Docker,这个是我非常喜欢的一个服务,介绍给大家,希望大家也能喜欢! 目录 何为容器 Docker环境安装部署 一、yum安装(CentOS7.9) 二、rpm包安装(CentOS) 三、卸载docker环境 四、安装指定的docker版本 五、Ubuntu安装docker环境 六、使用deb安装docker 七、

    2024年01月18日
    浏览(110)
  • 容器技术Linux Namespaces和Cgroups

    对操作系统了解多少,仅仅敲个命令吗 1979 年,UNIX 的第 7 个版本引入了 Chroot 特性。Chroot 现在被认为是第一个操作系统虚拟化(Operating system level virtualization)技术的原型,本质是一种操作系统文件系统层的隔离技术。 2006 年,Google 发布了在 Linux 上运行的 Process Container(进

    2024年02月10日
    浏览(37)
  • K8S:K8S自动化运维容器Docker集群

    (1)K8S全程为Kubernetes,由于K到S直接有8个字母简称为K8S。 (2)版本:目前一般是1.18~1.2.0,后续可能会到1.24-1.26,1.24版本后丢弃了docker(如需要使用需要第三方插件配合),目前最新版本是1.27 (3)官网:https://kubernetes.io GitHub:GitHub - kubernetes/kubernetes: Production-Grade Container S

    2024年02月10日
    浏览(82)
  • K8S:K8S自动化运维容器化(Docker)集群程序

    目录 一、K8S概述 1、什么是K8S 2、为什么要用K8S 3、作用及功能 二、K8S的特性 1、弹性伸缩 2、自我修复 3、服务发现和复制均衡 5、自动发布和回滚 6、集中化配置管理和秘钥管理 7、存储编排 8、任务批量处理运行 三、K8S的集群架构 四、K8S的核心组件 1、Master组件 ①Kube-apis

    2024年02月12日
    浏览(70)
  • 小白到运维工程师自学之路 第六十二集 (docker持久化与数据卷容器)

    一、概述 Docker持久化是指将容器中的数据持久保存在主机上,以便在容器重新启动或迁移时不丢失数据。由于Docker容器是临时和可变的,它们的文件系统默认是易失的,这意味着容器中的任何更改或创建的文件都只存在于此容器的生命周期内。但是,在许多场景中,我们希望

    2024年02月14日
    浏览(39)
  • Linux docker 容器安装superset全部过程(superset docker版本)

    解释一波 Apache Superset是一款由Python语言为主开发的开源时髦数据探索分析以及可视化的报表平台;她支持丰富的数据源,且拥有多姿多彩的可视化图表选择。 官网 :https://superset.apache.org/ github :https://github.com/apache/superset 如果你的机器上已经安装了docker,请忽略安装docker的

    2024年04月10日
    浏览(47)
  • docker 构建指定版本的jdk容器,并用docker部署jar包

    有在Linux系统安装docker的经验, 会使用docker常用命令,能明白构建docker容器参数的含义 将如下内容拷贝 到 Dockerfile ,保存并退出。 我用的jdk安装包是 jdk-8u361-linux-aarch64.tar.gz ,你只需要修改它换成你的jdk安装包 用 docker build 完 jdk镜像 后,用命令 docker inspect 容器id | grep Arc

    2024年02月09日
    浏览(48)
  • Centos 升级Docker 至最新版本(镜像容器不丢失)

    卸载旧版本的Docker 安装需要的软件包 添加Docker的yum源 更新yum包 查看所有仓库中提供的Docker版本 安装新版本Docker 或安装指定版本 启动Docker 开启Docker开机自启 查看Docker版本 查看原有容器 如果启动容器报错 报错内容:Error response from daemon: unknown or invalid runtime name: docker-runc

    2024年02月04日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包