【日常问题】Failed to enable unit: Unit file docker.service does not exist.

news2024/12/24 2:20:27

在这里插入图片描述

Failed to enable unit: Unit file docker.service does not exist.

1. 问题原因

笔者问题的产生是因为在ubuntu20.04下采用snapd安装的docker,因此

systemctl restart docker.service

systemd并不能找到守护进程docker.service
同时使用docker命令时还会产生若干连接的权限问题
在这里插入图片描述笔者环境:
OS:Ubuntu20.04 LTS
软件安装途径:snap

2. 解决方法

  1. 对于snapd安装的软件,我们需要使用snap命令
sudo snap disable docker
sudo snap enable docker
sudo snap restart docker

在这里插入图片描述

  1. 为了使docker可以有更高的权限,避免很多不必要的麻烦,我们可以手动将docker以用户的形式启动
# 添加用户组
sudo addgroup --system docker

在这里插入图片描述

sudo adduser $USER docker

在这里插入图片描述

newgrp docker
sudo snap disable docker
sudo snap enable docker

使用 Docker 运行容器(和应用程序)意味着运行 Docker 守护进程。root除非您选择 无root模式,否则此守护程序需要特权,因此您应该了解一些重要的细节。

首先,只有受信任的用户才有权控制您的 Docker 守护进程。这是一些强大的 Docker 功能的直接结果。具体来说,Docker 允许您在 Docker 主机和来宾容器之间共享目录;它允许您在不限制容器访问权限的情况下执行此操作。这意味着你可以启动一个容器,其中的/host目录就是/你主机上的目录;并且容器可以不受任何限制地更改主机文件系统。这类似于虚拟化系统允许文件系统资源共享的方式。没有什么可以阻止您与虚拟机共享根文件系统(甚至根块设备)。

3. snapd与systemd

snap 是 Canonical 为使用 Linux 内核和 systemd init 系统的操作系统开发的软件打包和部署系统。这些被称为 snap 的软件包和使用它们的工具 snapd 可以在一系列的 Linux 发行版中使用,并允许上游软件开发者直接向用户发布他们的应用程序。
Snap 管理自己的服务,无需手动干预。但是,经验丰富的管理员可能希望与 snap 的服务进行交互,以帮助改进其与本地环境的集成。因此,snapd 提供了一组命令来允许检查 snap 的服务并更改其状态。
在这里插入图片描述
snap对于守护进程的命令
守护程序 (管理服务):

commandfunction
services查询服务状态
start启动服务
stop停止服务
restart重启服务
logs检索服务日志
disable禁用系统中的一个 snap
enable在系统中启用一个 snap

snap也归systemd托管,也即是systemd是更底层的守护程序管理,只是snap安装的软件便捷的由snap直接管理
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1424742.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

asp.net 404页面配置、 asp.net MVC 配置404页面、iis 配置404页面,指定404错误页面,设置404错误页面

通过标题的三个问题 1、asp.net 404页面配置、 2、asp.net MVC 配置404页面、 3、iis 配置404页面; 可以看出,这是一篇了不得的问题,并进行全面讲解; 除了围绕以上三个核心问题外,我们也对以下2个核心场景也作出分析…

EDI报文到Excel转换方案详解

EDI目前已广泛应用于电子、物流、汽车、零售等行业。 越来越多的交易伙伴要求建立EDI连接,通过EDI来对接上下游交易伙伴,收发业务单据。 当我们与新的交易伙伴建立EDI连接时,有多种实施方案可供选择,如果您的单据量较少&#xf…

Kore.ai获10亿元融资,提供定制化类ChatGPT助手

1月31日,生成式AI和企业对话平台Kore.ai在官网宣布,获得1.5 亿美元(约10.7亿元)融资。本次由FTV Capital 领投,英伟达等跟投。 Kore.ai主要提供银行、医疗、零售、营销、人力资源等多种领域的,定制化类Cha…

哪个牌子的头戴式耳机好?推荐性价比高的头戴式耳机品牌

随着科技的不断发展,耳机市场也呈现出百花齐放的态势,从高端的奢侈品牌到亲民的平价品牌,各种款式、功能的耳机层出不穷,而头戴式耳机作为其中的一员,凭借其优秀的音质和降噪功能,受到了广大用户的喜爱&…

微信公众号在线客服源码系统,开发组合PHP+MySQL 带完整的安装代码包以及搭建教程

移动互联网的快速发展,微信公众号成为了企业与用户之间的重要沟通桥梁。为了满足企业对微信公众号在线客服的需求,小编给大家分享一款基于PHP和MySQL的微信公众号在线客服源码系统。这套系统能够帮助企业快速搭建自己的微信公众号在线客服平台&#xff0…

༺༽༾ཊ—Unity之-02-抽象工厂模式—ཏ༿༼༻

首先创建一个项目, 在这个初始界面我们需要做一些准备工作, 建基础通用文件夹, 创建一个Plane 重置后 缩放100倍 加一个颜色, 任务:使用 抽象工厂模式 创建 人物与宠物 模型, 首先资源商店下载 人物与宠物…

中科大计网学习记录笔记(二):网络核心

前言: 学习视频:中科大郑烇、杨坚全套《计算机网络(自顶向下方法 第7版,James F.Kurose,Keith W.Ross)》课程 该视频是B站非常著名的计网学习视频,但相信很多朋友和我一样在听完前面的部分发现信…

AI 时代如何增强数据保护,来听 Commvault 怎么说

在数据赛道持续火爆,全行业都重视数据产生的价值的时候,数据泄露与窃听、篡改、加密等勒索软件攻击也日益严重。截至 2023 年 10 月,全球勒索软件攻击数量同比增长了 37.75%。 已经连续 12 次被权威分析机构 Gartner 评为企业备份和恢复软件解…

protobuf之带有repeated成员实例使用(四)

1protoc转换为.h和.cc文件 protobuf之实例使用(三)-CSDN博客 2 .proto文件 syntax "proto2"; package contacts;//定义联系人message message PeopleInfo {required string name 1; //姓名required int32 age 2; //年龄requir…

FPGA高端项目:Xilinx Artix7系列FPGA 多路视频缩放拼接 工程解决方案 提供4套工程源码+技术支持

目录 1、前言版本更新说明给读者的一封信FPGA就业高端项目培训计划免责声明 2、相关方案推荐我这里已有的FPGA图像缩放方案我已有的FPGA视频拼接叠加融合方案本方案的Xilinx Kintex7系列FPGA上的ov5640版本本方案的Xilinx Kintex7系列FPGA上的HDMI版本 3、设计思路框架设计框图…

【服务端性能测试】测试方案设计(实操需要准备的内容)

一般性能测试流程都是:获取测试需求——>测试需求分析——>测试方案设计——>压测环境搭建(目前是线上)——>测试数据准备——>测试脚本准备、调试——>测试脚本执行——>监控数据录入——>测试结果跟开发一起分析—…

springboot141夕阳红公寓管理系统的设计与实现

基于Spring Boot的夕阳红公寓管理系统的设计与实现 摘 要 如今社会上各行各业,都在用属于自己专用的软件来进行工作,互联网发展到这个时候,人们已经发现离不开了互联网。互联网的发展,离不开一些新的技术,而新技术的…

如何在树莓派安装运行Nginx实现无公网ip环境访问内网静态网站

文章目录 1. Nginx安装2. 安装cpolar3.配置域名访问Nginx4. 固定域名访问5. 配置静态站点 安装 Nginx(发音为“engine-x”)可以将您的树莓派变成一个强大的 Web 服务器,可以用于托管网站或 Web 应用程序。相比其他 Web 服务器,Ngi…

从零开始复现GPT2(四):训练代码的实现

源码地址:https://gitee.com/guojialiang2023/gpt2 GPT2 模型Configuration类定义 Recorder训练框架Trainer训练代码GPT2TrainingSpec 类train_gpt2_model 函数add_subparser 函数 模型 Configuration 这段代码定义了一个名为 TrainConfig 的 Python 类&#xff0c…

TypeScript(十) Map对象、元组、联合类型、接口

1. Map对象 1.1. 简述 Map对象保存键值对,并且能够记住键的原始插入顺序。   任何值都可以作为一个键或一个值。 1.2. 创建 Map 使用Map类型和new 关键字来创建Map: 如: let myMap new Map([["key1", "value1"],[&…

docker私有库

1.registry私有仓库 拉取registry镜像 docker pull registry 修改docker配置文件并重启 vim /etc/docker/daemon.json {"insecure-registries": ["172.16.23.23:5000"], #添加,注意用逗号结尾"registry-mirrors": ["ht…

网络编程之ip地址

目录 1、概念: 2、所属的tcp/ip协议的层 3、IP地址查询 (1)Linux (2)windows 4、IP地址结构组成及分类 (1)组成(网络位主机位) (2)分类 1、…

Linux进程控制:进程创建与等待

目录 一、fork函数 1.1fork函数的调用与功能 1.2fork函数的返回值与写实拷贝 1.3fork的常规用法与失败原因 二、进程终止 2.1进程的退出场景和常见退出方法 2.2_exit函数与exit函数 2.2.1_exit函数 2.2.2exit函数 2.3return退出 三、进程等待 3.1wait及waitpid的方法…

MFC串行化的应用实例

之前写过一篇MFC串行化的博文;下面看一个具体例子; 新建一个单文档应用程序;在最后一步,把View类的基类改为CFormView; 然后在资源面板编辑自己的字段; 然后到doc类的头文件添加对应变量, public:CString name;int age;CString sex;CString dept;CString zhiwu;CStrin…

CentOS部署Docker Registry镜像仓库并结合内网穿透实现远程访问

文章目录 1. 部署Docker Registry2. 本地测试推送镜像3. Linux 安装cpolar4. 配置Docker Registry公网访问地址5. 公网远程推送Docker Registry6. 固定Docker Registry公网地址 Docker Registry 本地镜像仓库,简单几步结合cpolar内网穿透工具实现远程pull or push (拉取和推送)…