当前位置: 首页 > news >正文

Linux下Docker Engine安装后的一些配置步骤

一些安装后的配置令Linux主机可以更好地与Docker配合使用。

0x01 以非root用户身份管理Docker

Docker守护进程绑定到Unix套接字,而不是TCP端口。默认情况下,root用户拥有Unix套接字,而其他用户只能使用 sudo. Docker守护进程始终以root用户身份运行。

如果不想在docker命令前加上sudo,那么创建一个名为docker的Unix组,并在其中添加用户。当Docker守护进程启动时, 创建一个可由docker组的成员访问的Unix套接字。在某些Linux上 发行版上,系统会在使用包管理器安装 Docker Engine时自动创建此组,如果是那样的话,就没有必要手动创建组了。
警告
docker组向用户赋予root级别权限。有关这些如何影响系统安全性的详细信息,请参考 Docker守护进程安全资料。
注意
要在没有root权限的情况下运行Docker,请参考以非root用户身份运行Docker守护进程(Rootless模式)。

要创建docker组并添加你的用户,请执行以下操作:

  1. 创建docker组。
$ sudo groupadd docker
  1. 将您的用户添加到docker组。
$ sudo usermod -aG docker $USER
  1. 注销并重新登录,以便重赋予你的组成员身份。
    如果在虚拟机中运行Linux,则可能需要重新启动虚拟机以使更改生效。
    也可以运行以下命令来激活对组的更改:
$ newgrp docker
  1. 验证您是否可以在没有sudo的情况下运行docker命令。
$ docker run hello-world

这个命令下载一个测试映像并在容器中运行它。当容器运行时,它会打印一条消息并退出。
如果在添加用户到docker组之前此用户使用sudo运行过Docker CLI命令,可能会看到以下错误:

WARNING: Error loading config file: /home/user/.docker/config.json -
stat /home/user/.docker/config.json: permission denied

此错误表示~/.docker/的权限设置目录不正确,因为之前使用了sudo命令。
要解决此问题,请删除~/.docker/目录(它会自动重新创建,但任何自定义设置都将丢失),或更改其所有权限, 使用以下命令设置权限:

 $ sudo chown "$USER":"$USER" /home/"$USER"/.docker -R$ sudo chmod g+rwx "$HOME/.docker" -R

0x02 使用systemd将Docker配置为开机自启动

许多现代Linux发行版都使用 systemd来管理系统引导时启动哪些服务。在Debian和Ubuntu上,Docker服务默认在系统引导时启动。对于使用systemd的其他Linux发行版,要开机自动启动Docker和containerd, 运行以下命令:

$ sudo systemctl enable docker.service
$ sudo systemctl enable containerd.service

要停止此操作,请改用disable。

$ sudo systemctl disable docker.service
$ sudo systemctl disable containerd.service

如果需要添加HTTP代理,为 Docker运行时文件进行其他自定义目录或分区,请参考自定义systemd Docker守护程序选项。

0x03 配置默认日志记录驱动程序

Docker提供日志记录驱动程序来收集和查看来自主机上运行的所有容器的日志数据。默认日志记录驱动程序json-file将日志以JSON格式数据写入主机文件系统。随着时间的推移,这些日志文件的大小会扩大, 磁盘资源可能耗尽。

若要避免日志数据过度使用磁盘的问题,考虑以下方法之一:
json-file日志记录驱动程序配置为打开日志轮换
使用替代日志记录驱动器例如 “本地”日志驱动程序并在默认情况下执行日志循环。
使用日志记录驱动程序将日志发送到远程日志记录服务器。

相关文章:

Linux下Docker Engine安装后的一些配置步骤

一些安装后的配置令Linux主机可以更好地与Docker配合使用。 0x01 以非root用户身份管理Docker Docker守护进程绑定到Unix套接字,而不是TCP端口。默认情况下,root用户拥有Unix套接字,而其他用户只能使用 sudo. Docker守护进程始终以root用户身份运行。 …...

【并发设计模式】聊聊Balking是如何实现以及具体原理

前面的等待唤醒,其实是一个线程等待执行满足条件的逻辑,会一直死等,但是并不是全部的场景都需要死等。比如我们去坐车的时候,公交一直没来,那么就可以不去了。而等待唤醒是公交没来我就等他来了再去。 Guarded Suspen…...

dubbo的一些问题思考

1.dubbo是啥 Dubbo 是一个高性能的 Java RPC(远程过程调用)框架,用于构建分布式服务架构。由阿里巴巴开发并开源,作为一个分布式服务框架,Dubbo 提供了丰富的功能,包括服务治理、远程调用、负载均衡、容错机…...

盛最多水的容器(力扣11题)

例题: 分析: 这道题给出了一个数组,数组里的元素可以看成每一个挡板,要找到哪两个挡板之间盛的水最多,返回盛水量的最大值。这其实是一个双指针问题。 我们可以先固定第一个挡板( i )和最后一个挡板( j )&#xff0c…...

.babky勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复

导言: 网络安全威胁不断进化,其中.babky勒索病毒引起了广泛关注。这篇文章91数据恢复将深入介绍.babky的狡猾特征,以及在遭受其袭击时如何高效地恢复被加密的数据,并提供实用的预防方法。当面对被勒索病毒攻击导致的数据文件加密…...

20240103-通过布局让自己的生活有有意义人生有价值

最近听到看到的一些词 心力、稀缺、卓有成效、知行合一、致良知、心即理、事上练 最近琢磨出这么一个道理,就是任何人做事情其实都有内心趋势和一套适合他自己的内心驱动的方法。我们经常意识不到,我时常也会去寻求做一件事,是不是有特定的…...

JDK17 - 开发者视角,从 JDK8 ~ JDK17 都增加了哪些新特性

目录 前言 一、站在开发视角,从 JDK8 升级到 JDK17 都有哪些新特性 1.1、JDK8 新特性 1.1.1、Optional 类 a)简介 b)使用方法 c)使用场景 1.2、JDK9 新特性 1.2.1、Optional - ifPresentOrElse 解决 if-else 1.2.2、Opt…...

八股文打卡day11——计算机网络(11)

面试题:HTTP多个TCP连接怎么实现? 我的回答: 1.HTTP1.0的时候,一个TCP连接只能进行一次请求响应。可以建立多个连接到服务器,这样就可以同时进行多个请求响应,提高传输效率。 2.HTTP1.1推出了持久连接&am…...

在Android设备上设置和使用隧道代理HTTP

随着互联网的深入发展,网络信息的传递已经成为人们日常生活中不可或缺的一部分。对于我们中国人来说,由于某些特殊的原因,访问国外网站时常常会遇到限制。为了解决这个问题,使用代理服务器成为了许多人的选择。而在Android设备上设…...

Paddle3D 2 雷达点云CenterPoint模型训练

2 Paddle3D 雷达点云CenterPoint模型训练–包含KITTI格式数据地址 2.0 数据集 百度DAIR-V2X开源路侧数据转kitti格式。 2.0.1 DAIR-V2X-I\velodyne中pcd格式的数据转为bin格式 参考源码:雷达点云数据.pcd格式转.bin格式 def pcd2bin():import numpy as npimport…...

RabbitMQ集群的简单说明

1.普通集群(副本集群) 当集群中某一时刻master主节点宕机,可以对master中Queue中的消息进行备份。而就算master宕机了,从节点不会对外提供服务,等到master节点恢复后,系统才会恢复正常。 主从架构的缺点是队列中的消息只是位于主节…...

支付宝沙箱支付-验签出错之编码集异常

异常信息 invalid-signature 错误 验签出错 错误代码 invalid-signature 错误原因: 验签出错,建议检查签名字符串或签名私钥与应用公钥是否匹配,网关生成的验签字符串为: alipay_sdkalipay-sdk-java-dynamicVersionNo&amp....官方通用…...

图像分割-漫水填充法 floodFill (C#)

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 本文的VB版本请访问:图像分割-漫水填充法 floodFill-CSDN博客 FloodFill方法是一种图像处理算法,它的目的是…...

在pycharm中jupyter连接上了以后显示无此库,但是确实已经安装好了某个库,使用python可以跑,但是使用ipython就跑不了

今天遇到一个事情,就是用pycharm的jupyter时,连接不上,后来手动连接上了以后,发现环境好像不对。 一般来说,这里会是python3,所以里面的环境也是普通python的环境,并没有我下载的库,…...

C++多态性——(3)动态联编的实现——虚函数

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言​📝 成功的秘诀就在于多努力一次&#xff…...

docker部署mysql

1.查找mysql镜像 [rootVM-4-5-centos ~]# docker search mysql NAME DESCRIPTION STARS OFFICIAL AUTOMATED mysql MySQL is a widely used, open-sourc…...

python代码大全(持续更新)

读写文件 # 读取文件 with open(file.txt, r) as file:content file.read()# 写入文件 with open(file.txt, w) as file:file.write(Hello, World!)HTTP请求 import requestsresponse requests.get(https://api.example.com/data) data response.json()JSON处理 import j…...

C#学习笔记 - C#基础知识 - C#从入门到放弃 - C# 处理程序异常相关技术

C# 入门基础知识 - C# 处理程序异常相关技术 第11节 处理程序异常相关技术11.1 捕获异常11.2 清除、处理所有异常11.3 引发异常11.4 预定义异常类11.5 自定义异常类11.6 异常的综合运用 更多C#基础知识点可查看:C#学习笔记 - C#基础知识 - C#从入门到放弃 第11节 处…...

[python]项目怎么使用第三方库

要在Python项目中使用第三方库,可以按照以下步骤进行: 安装第三方库:使用pip命令安装要使用的第三方库。例如,要安装requests库,可以运行以下命令: pip install requests导入库文件:在Python项…...

java每日一题——双色球系统(答案及编程思路)

前言: 打好基础,daydayup! 题目:要求如下(同时:红球每个号码不可以相同) 编程思路:1,创建一个可以录入数字的数组;2,生成一个可以随机生成数字的数组&#xf…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...

OpenLayers 可视化之热力图

注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...

python打卡day49

知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql

智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)

宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

.Net Framework 4/C# 关键字(非常用,持续更新...)

一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...

Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)

引言 在人工智能飞速发展的今天&#xff0c;大语言模型&#xff08;Large Language Models, LLMs&#xff09;已成为技术领域的焦点。从智能写作到代码生成&#xff0c;LLM 的应用场景不断扩展&#xff0c;深刻改变了我们的工作和生活方式。然而&#xff0c;理解这些模型的内部…...