目录

  • 基础信息
    • 操作系统信息
    • docker信息
  • 安装实例
    • 安装步骤
    • 示例
  • 遇到的问题
    • 问题1:修改默认工作路径启动失败
    • 问题2 找不到对应组

基础信息

操作系统信息

OS版本:CentOS 7 64位
内核版本:3.10.0
相关命令:

  • uname -r
  • cat /etc/os-release

docker信息

版本:28.1.1
安装方式:zip包离线安装
下载地址:https://download.docker.com/linux/static/stable/x86_64/
额外配置:修改默认工作路径

安装实例

安装步骤

  1. 下载安装包
  2. 解压
  3. 创建相关路径
  4. 添加环境变量
  5. 启动

示例

  1. 把下载的安装上传到自己的路径
  2. 解压
cd 安装包所在位置
tar -xvf ./docker-28.1.1.tgz
  1. 创建相关路径
    这一步是因为要修改docker的默认工作路径才需要,如果不修改可以跳过这一步。这里主要有两个需要创建的路径,一个是修改默认工作路径的文件,一个是默认工作路径,我们把修改的配置文件放在:/etc/docker/daemon.json,工作路径配置为:/mnt/data/dockerexec,可以选择右键方式也可以选择命令方式。
sudo mkdir -p /etc/docker
cd /etc/docker
sudo echo '{"data-root": "/mnt/data/dockerexec"}' > /etc/docker/daemon.json
  1. 在/etc/profile中添加以下内容,zip方式如果不配置这个会出现问题1。其中/home/soft/docker需要改成自己的docker安装路径
export PATH=$PATH:/home/soft/docker
  1. 启动
    1) 使用自带dockerd 启动
nohup dockerd &

2)可以添加docker.service,通过systemctl命令启动
文件位置:/etc/systemd/system/docker.service
文件内容:

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target[Service]
Type=notify
ExecStart=/home/soft/docker/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
Delegate=yes
KillMode=process[Install]
WantedBy=multi-user.target

遇到的问题

问题1:修改默认工作路径启动失败

报错信息

unable to configure the Docker daemon with file /etc/docker/daemon.json: merged configuration validation from file and command line flags failed: invalid userland-proxy-path: userland-proxy is enabled, but userland-proxy-path is not set

前置操作
新增daemon.json文件,配置内容{“data-root”: “/mnt/data/dockerexec”}已经新建data/dockerexec路径,权限755

解决方法:通过临时禁用解决上面问题

{"data-root": "/mnt/data/dockerexec","userland-proxy": false
}

问题:临时禁用有什么风险吗?如果不禁用应该怎么解决?
潜在风险:

  • 可能导致容器端口映射功能失效,影响容器与外部网络的通信
  • 可能导致 IPv6 环境下的容器无法被外部访问
  • 在低版本内核(如 2.6.x)中,容器内部通过 Hairpin 方式访问自己暴露的服务时,可能需要依赖 userland-proxy。如果禁用它,可能影响容器内部的网络通信
  • 在禁用 userland-proxy 时,容器可能无法接收 UDP 流量。这是因为 userland-proxy 在处理某些网络协议(如 UDP)时具有特定作用,禁用后可能导致相关流量无法正确到达容器。
    上面的问题都只是可能性,也就是说不一定会发生,但是在生产中一般不建议这么做。

问题2 找不到对应组

临时禁用解决问题1,启动之后发现新问题:

time="2025-06-03T10:17:47.982346236+08:00" level=info msg="Starting up"
time="2025-06-03T10:17:47.983972390+08:00" level=warning msg="could not change group /var/run/docker.sock to docker: group docker not found"
time="2025-06-03T10:17:47.984112724+08:00" level=info msg="containerd not running, starting managed containerd"
failed to start containerd: exec: "containerd": executable file not found in $PATH

原因:未添加docker到path中,类似于Windows下的环境变量中的path,没有配置时会提示找不到路径
解决方法:把docker路径添加到path中

  • 一次性添加
export PATH=$PATH:/home/soft/docker
  • 持久化
    文件:/etc/profile
    添加内容:
export PATH=$PATH:/home/soft/docker

添加路径之后第一个问题也解决了,所以可以去掉临时禁用的配置,优先使用默认配置。

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Go 语言中switch case条件分支语句

1. 基本语法 package main import "fmt" func main() {var extname ".css"switch extname {case ".html":fmt.Println("text/html")case ".css":fmt.Println("text/css") // text/csscase ".js":fmt.…

FFmpeg:Windows系统小白安装及其使用

一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】,注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录(即exe所在文件夹)加入系统变量…

LLM基础2_语言模型如何文本编码

基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 字节对编码(BPE) 上一篇博文说到 为什么GPT模型不需要[PAD]和[UNK]? GPT使用更先进的字节对编码(BPE),总能将词语拆分成已知子词 为什么需要BPE? 简…

监控升级:可视化如何让每一个细节 “说话”

你有没有遇到过这样的情况? 监控画面里明明有“异常”,但值班人员愣是没发现; 报警响起却不知道具体发生了什么,只能靠猜、靠翻录像; 出了事回看录像,才发现线索早就在眼前,只是没人注意到………

单片机bootloader(APP的自我复制)

文章目录 Bootloader 中 APP 的自我复制与启动机制解析一、为什么要进行自我复制?二、程序整体结构概述三、汇编启动代码分析重点解释:四、C 语言部分分析核心功能:五、start\_app 函数:手动启动指定 APP六、总结七、适用场景Bootloader 中 APP 的自我复制与启动机制解析 …

浏览器工作原理11 [#] this:从JavaScript执行上下文视角讲this

引用 《浏览器工作原理与实践》 在上篇文章中,我们讲了词法作用域、作用域链以及闭包,并在最后思考题中留了下面这样一段代码 var bar {myName:"time.geekbang.com",printName: function () {console.log(myName)} } function foo() {le…

【C语言】-递归

1、递归概念 递归(Recursion)是编程中一种重要的解决问题的方法,其核心思想是函数通过调用自身来解决规模更小的子问题,直到达到最小的、可以直接解决的基准情形(Base Case)。 核心:自己调用…

12.5Swing控件3Jpanel JOptionPane

JPanel JPanel是一个轻量级容器组件,用于组织和管理其他 GUI 组件。它继承自JComponent类,属于javax.swing包,可以容纳按钮、文本框、标签等控件 JPanel 默认使用的布局管理器是 FlowLayout,也可以嵌套其他面板,以便…

MIPI信号为什么不能进行长距离传输

1.关于MIPI信号传输 MIPI信号是不适合长距离传输的。 2.MIPI的信号摆幅小,抗干扰能力比较弱 MIPI信号的差分摆幅比较小,通常只有100mV~200mV,远远低于LVDS的350mV的摆幅 小摆幅信号在长线缆上传输的时候更容易被噪声淹没,信噪比下降&#xf…

Qt的学习(二)

1. 创建Hello Word 两种方式,实现helloworld: 1.通过图形化的方式,在界面上创建出一个控件,显示helloworld 2.通过纯代码的方式,通过编写代码,在界面上创建控件, 显示hello world; …

Windows11+VS2019配置Libigl-2.4.1

Windows11VS2019配置Libigl-2.4.1 由于课题需要,所以出一篇配置Libigl的博客,制作不易,请多多点赞 一、官网下载 官网:https://libigl.github.io/ GitHub下载地址:https://github.com/libigl/libigl 这里我们选择…

地球科学方向(Geoscience and Remote Sensing),1天见刊,当月可检索!

CSP科学出版社,旨在通过为研究人员提供最佳环境来发表、参考、阅读和引用他们的作品,从而为科学界服务。现已与科检易学术达成出版战略合作,现在联合共同出版高质量学术水平的期刊,为方便广大科研学者投稿方便,现已经建…

基于 Three.js 的 3D 模型快照生成方案

基于 Three.js 的 3D 模型快照生成方案 此方案通过 Three.js 渲染场景并异步生成图像数据,同时支持分辨率缩放和 Blob 格式输出,为模型预览、截图保存等需求提供完整解决方案。 问题分析: 使用html2canvas 生成的快照画布显示为空&#xff…

「Java基本语法」变量的使用

变量定义 变量是程序中存储数据的容器,用于保存可变的数据值。在Java中,变量必须先声明后使用,声明时需指定变量的数据类型和变量名。 语法 数据类型 变量名 [ 初始值]; 示例:声明与初始化 public class VariableDemo {publi…

SpringCloud学习笔记-2

说明:来源于网络,如有侵权请联系我删除 1.提问:如果注册中心宕机,远程调用还能成功吗 答:当微服务发起请求时,会向注册中心请求所有的微服务地址,然后在向指定的微服务地址发起请求。在设计实…

Hac - NBh标准JSON协议使用说明文档

Hac - NBh 标准 JSON 协议使用说明文档 一、协议概述 Hac - NBh 标准 JSON 协议是专为物联网设备与服务器数据交互设计的通信协议。以 JSON 格式为基础,采用键值对(KV 值)组织数据,支持灵活选取数据项,通过 CBOR 格式实现高效传输,并利用 AES 128 加密保障数据安全。 …

k8s从入门到放弃之Service负载均衡

k8s从入门到放弃之Service负载均衡 在 Kubernetes (K8s) 中,Service 是一种抽象,它定义了一组逻辑上的 Pod 和访问它们的策略。Service 的主要目的是提供一种可靠的方式来访问一组具有相同标签(Label)的 Pod,即使这些…

【题解-洛谷】P10480 可达性统计

题目:P10480 可达性统计 题目描述 给定一张 N N N 个点 M M M 条边的有向无环图,分别统计从每个点出发能够到达的点的数量。 输入格式 第一行两个整数 N , M N,M N,M,接下来 M M M 行每行两个整数 x , y x,y x,y,表示从 …

SpringCloud2025+SpringBoot3.5.0+gateway+webflux子服务路由报503

文章目录 前言一、问题二、原因1.分析2.配置静态路由再试3.定位 总结 前言 本来昨天就应该也记录下,免得忘记的,但是有点晚了,酒没写,真的是被坑惨了。 当然这也是追求最新的代价,也是对新技术、老知识点的重温…

破解路内监管盲区:免布线低位视频桩重塑停车管理新标准

城市路内停车管理常因行道树遮挡、高位设备盲区等问题,导致车牌识别率低、逃费率高,传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法,正成为破局关键。该设备安装于车位侧方0.5-0.7米高度,直接规避树枝遮…