首页 > 系统相关 >Docker容器Centos不能使用systemctl命令问题

Docker容器Centos不能使用systemctl命令问题

时间:2024-10-03 11:33:11浏览次数:1  
标签:tmp 容器 Centos -- systemctl Docker docker

最近使用Docker搭建Centos容器时遇到这样的问题:Centos系统的不能使用systemctl命令!

具体场景
使用 systemctl 或 service 命令重启服务时。

systemctl restart snmpd.service 

会报无权限的错误:

Failed to get D-Bus connection: Operation not permitted;

这是docker中centos7的bug,官网上也提到了这个问题,并给出了解决办法,但有点复杂。我们可以通过以下方法解决!

首先,使用docker构建centos容器加上 privileged 参数,即在docker run命令是要加上 --privileged=true,该参数在docker容器运行时,让系统拥有真正的root权限。

其次,在启动容器时,在docker run 命令最后,加上/usr/sbin/init,最终命令为:

docker run -v /tmp/:/tmp --privileged --cap-add SYS_ADMIN -e container=docker -it --name=centos -d --restart=always centos /usr/sbin/init

参数说明:

  • -v /tmp/:/tmp:挂载宿主机的一个目录,冒号":"前面的目录是宿主机目录,后面的目录是容器内目录。
  • --privileged: 指定容器是否是特权容器。
  • --cap-add SYS_ADMIN: 添加系统的权限,不然系统很多功能都用不了的。
  • -e container=docker:设置容器的类型。
  • -it: 启动互动模式。
  • /usr/sbin/init:初始容器里的CENTOS,用于启动dbus-daemon。
 

标签:tmp,容器,Centos,--,systemctl,Docker,docker
From: https://www.cnblogs.com/ataoxz/p/18445513

相关文章

  • 03 掌握Docker核心架构:镜像、仓库、容器及运行管理的深度解析
    文章目录03掌握Docker核心架构:镜像、仓库、容器及运行管理的深度解析一概述1.1镜像1.2镜像仓库1.3容器二、镜像及镜像仓库2.1本地镜像仓库2.2镜像仓库简介2.3使用远端仓库2.3.1从远端镜像仓库拉取apache镜像2.3.2从远端镜像仓库拉取指定......
  • macbook m1 pro 使用parallel desktop安装ubuntu24.04以及docker+网络配置
    1.使用paralleldesktop安装ubuntu这个不多说,一开始以为使用24.04版本太新,目前倒是也没遇到什么问题,直接使用pd首页提供的镜像就可以2.配置网络我本地是在macm1pro上,使用了shadowrocket,打开sr,下面设置中有一个代理共享,开启它,并配置一个端口回到ubuntu中,打开网络配置,把......
  • 使用 NVIDIA Container Toolkit 和 Docker 配置 GPU 深度学习环境
    在深度学习开发中,充分利用GPU资源是提高模型训练效率的关键。本文将详细介绍如何安装NVIDIAContainerToolkit,并配置Docker容器以利用GPU进行深度学习训练。我们将结合NVIDIAContainerToolkit的安装和Docker容器的配置,确保你拥有一个高效的GPU开发环境。1.安装......
  • Docker配置代理访问网络ubuntu24.04
    本文将详细介绍如何根据系统代理配置,正确设置Docker的代理环境变量,使其能够通过代理服务器进行网络访问。一、查看系统代理配置首先,我们查看了系统的代理配置:以下是图片内容的文字描述:Proxy设置NetworkProxy:已开启Configuration:手动(Manual)HTTPProxyURL:12......
  • Linux 安装 docker-compose
    原文:linux安装docker-compose(官网教程)要在Linux上安装DockerCompose命令,可以按照以下步骤进行操作:下载DockerCompose的可执行文件。可以使用以下命令下载最新版本:sudocurl-L"https://github.com/docker/compose/releases/latest/download/docker-compose-$(un......
  • Docker实操过程
    Docker实操过程体会知乎上搜“docker入门”搜到的笔记总是起一个赚噱头的标题,然后点进去一看,里面大多是一些入门内容的简单罗列,要么对于背景内容长篇大论让读者抓不住重点,要么对于命令API简单罗列,入门者甚至连这些API如何衔接使用,这些命令大概发生了什么可能都没有概念,说是入门......
  • 【Docker】Docker 容器的使用指南:如何进入容器并运行命令
    目录1.什么是Docker容器?2.进入Docker容器的方法2.1使用`dockerexec`2.2使用`dockerattach`2.3使用`dockerrun`3.常见选项与参数4.退出容器5.进入容器的实际操作步骤步骤1:查看正在运行的容器步骤2:进入容器步骤3:在容器中运行命令步骤4:退出容器6.......
  • Centos Linux查看网络连接
    方法一:使用netstat命令(需要net-tools包)[root@sre01~]#netstat-tanActiveInternetconnections(serversandestablished)ProtoRecv-QSend-QLocalAddressForeignAddressStatetcp00127.0.0.1:250.0.0.0:*......
  • Centos Linux快速清除网卡上配置的所有IP地址
    使用ipaddrflush[root@sre01~]#ipaddrflushdevens36[root@sre01~]#ipaddrshowens363:ens36:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscpfifo_faststateUPgroupdefaultqlen1000link/ether00:0c:29:c0:78:dbbrdff:ff:ff:ff:ff:ff......
  • 掌握Docker:简化KES单机安装与管理的最佳实践
    今天我们将继续深入探讨KES的单机安装,依然围绕Docker的使用展开。这一部分的内容将涵盖一些常见的陷阱以及在遇到问题时如何进行有效的反馈和解决。首先,我们需要找到官方的安装教程,确保以官方指南为主,同时结合我们自己的使用习惯。为什么我们如此青睐Docker,而不是选择传统的命令......