进入docker容器中安装软件失败解,国外源慢,时间不同步,执行命令权限不够等问题解决办法

news2024/12/25 22:13:10

进入docker容器中安装软件失败解,时间不同步, 国外源慢,执行命令权限不够 等问题解决办法

首先我进入docker容器中,为了安装一个软件,引出了很多报错问题,报错如下:

1、无法用 ifconfig 或者 ip addr 的方式查看容器内的 ip

2、安装软件 iputils-ping 失败报错 E: Unable to locate package iputils-ping

3、执行 apt-get update 报错 E: Release file for xxxxx/InRelease is not valid yet (invalid for another 1d 20h 59min 59s). Updates for this repository will not be applied. - 原因:时间不同步

4、默认的外国源比较慢,换成国内源

5、执行命令权限不够报错 date: cannot set date: Operation not permitted

# 进入nginx 容器里面
docker exec -it nginx /bin/bash

无法用 ifconfig 或者 ip addr 的方式查看该容器的 ip

解决办法:

找到网上一篇文章《docker查看容器IP的方法》有办法查看。

直接执行下面命令可以查看。

cat /etc/hosts

最后一行对应的就是该容器的 ip 地址。
在这里插入图片描述


安装软件 iputils-ping 报错 E: Unable to locate package iputils-ping

接下来,我想安装一个 iputils-ping 工具,用于测试docker 内的网络连通。
先使用以下命令查看该 docker 容器使用的是什么系统。

cat /etc/os-release
# 或者
cat /etc/*-release

可以看到该容器使用的系统是 Debian 系统,系统版本是 11。所以使用 apt-get 安装软件。
在这里插入图片描述
接下来安装 iputils-ping

apt-get install -y iputils-ping

发现软件安装的特别慢,于是我按 Ctrl + C 停止安装了。

但是我又不小心再次执行了 apt-get install -y iputils-ping 命令,结果报错:

apt-get install -y iputils-ping
# 报错信息,发现安装其他软件也都抱这个错误了,只有少部分软件能安装(比如 apt-get install -y ntpdate  这个可以装)
E: Unable to locate package iputils-ping

看了很多网上的文章,发现都是执行 apt-get update, 再重装软件。

我执行了 apt-get update , 结果报了一个新的错误:

root@54329cea5ead:/# apt-get update
Reading package lists... Done                        
E: Release file for xxxxx/InRelease is not valid yet (invalid for another 2d 19h 59min 59s). Updates for this repository will not be applied.

又看了很多文章,发现这个错是因为源的服务器时间和本地系统时间不同步问题。

默认的外国源比较慢,换成国内源

于是先看看系统使用的是什么源,

执行 cat /etc/apt/sources.list 查看使用的源 。

root@54329cea5ead:/etc/apt# cat sources.list
# deb http://snapshot.debian.org/archive/debian/20211220T000000Z bullseye main
deb http://deb.debian.org/debian bullseye main
# deb http://snapshot.debian.org/archive/debian-security/20211220T000000Z bullseye-security main
deb http://security.debian.org/debian-security bullseye-security main
# deb http://snapshot.debian.org/archive/debian/20211220T000000Z bullseye-updates main
deb http://deb.debian.org/debian bullseye-updates main
root@54329cea5ead:/etc/apt#

可以看到,它默认使用的是 debian 的官方 源,是国外的,下载软件也会很慢。

准备把它换成国内的源。这里有几个大厂的源可以选择。比如 阿里云 和 清华大学 的源。

阿里云的源可以参考阿里云官方的镜像站,找到 Debian 镜像,找到 debian 11.x (bullseye) 版本的源。

在这里插入图片描述

清华大学的源可以参考《清华大学开源软件镜像站》,选择对应的 Debian 版本。

在这里插入图片描述
也可以参考相关博客:
《Docker下安装vim 报错 E: Unable to locate package vim 》

# 备份原来的文件
mv /etc/apt/sources.list /etc/apt/sources.list.bak

# 更换为清华大学的源
echo  "deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free" >/etc/apt/sources.list
echo  "deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free" >>/etc/apt/sources.list
echo  "deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free" >>/etc/apt/sources.list
echo  "deb https://mirrors.tuna.tsinghua.edu.cn/debian-security buster/updates main contrib non-free" >>/etc/apt/sources.list

在这里插入图片描述

执行 apt-get update 报错 E: Release file for xxxxx/InRelease is not valid yet (invalid for another 1d 20h 59min 59s). Updates for this repository will not be applied. - 原因:时间不同步

更换源完成之后,想再次试一下 apt-get update 有没有用。结果还是报原来的错误:

root@54329cea5ead:/# apt-get update
Reading package lists... Done                        
E: Release file for xxxxx/InRelease is not valid yet (invalid for another 1d 20h 59min 59s). Updates for this repository will not be applied.

所以还是要解决时间同步问题。

看到网上的文章《kali更新提示Release file is not valid yet ,Updates for this repository will not be applied》

说使用 date 命令直接修改时间, 结果还是报错。

执行命令权限不够报错 date: cannot set date: Operation not permitted

root@54329cea5ead:/# date -s 2024-03-17
date: cannot set date: Operation not permitted
Sun Mar 17 00:00:00 UTC 2024

这是因为在 Docker 容器内部执行 date 命令设置系统时间可能会遇到权限限制的问题,因为 Docker 默认情况下并不允许容器内的进程修改宿主机的时间设置。您可以尝试以下方法来解决这个问题:

使用 --privileged 标志:在运行 Docker 容器时,可以添加 --privileged 标志来提升容器的权限,使其能够修改系统时间。
相关命令可以参考 dokcer 官方文档

在这里插入图片描述

示例:

docker run --privileged -it <your_image_name> /bin/bash

接下来就可以参考上面提到的文章继续操作了《kali更新提示Release file is not valid yet ,Updates for this repository will not be applied》

# 设置年月日
date -s 2024-03-07
# 设置时分秒
date -s 23:56:05

注:秒可以不用那么精准,随便写即可。

在这里插入图片描述
于是再次执行 apt-get update ,更新成功。
在这里插入图片描述

安装 vim ,iputils-ping 等软件都可以成功了。
在这里插入图片描述

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

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

相关文章

Ansible自动化运维Inventory与Ad-Hoc

前言 自动化运维是指利用自动化工具和技术来简化、自动化和优化IT基础设施的管理和运维过程&#xff0c;从而提高效率、降低成本&#xff0c;并减少人为错误。在当今复杂的IT环境中&#xff0c;自动化运维已经成为许多组织和企业提高生产力和保证系统稳定性的重要手段。Ansibl…

Kubernetes operator系列:kubebuilder 实战演练 之 开发多版本CronJob

云原生学习路线导航页&#xff08;持续更新中&#xff09; 本文是 Kubernetes operator学习 系列文章&#xff0c;本节会在上一篇开发的Cronjob基础上&#xff0c;进行 多版本Operator 开发的实战 本文的所有代码&#xff0c;都存储于github代码库&#xff1a;https://github.c…

three.js 元素周期表,可鼠标控制

一些文章里的元素周期表,能显示,但控制器却无法使用,周期表没法旋转 后来发现是three.js版本问题, 旧版本在调试状态下是可以旋转的。新版本只要在正常页面打开状态下就能鼠标控制 <!DOCTYPE html> <html> <head> <meta charset="utf-8"&…

网盘聚合工具:统筹管理所有网盘资源 | 开源日报 No.203

alist-org/alist Stars: 35.6k License: AGPL-3.0 alist 是一个支持多存储的文件列表/WebDAV 程序&#xff0c;使用 Gin 和 Solidjs。 该项目的主要功能、关键特性、核心优势包括&#xff1a; 支持多种存储方式易于部署和开箱即用文件预览&#xff08;PDF、markdown、代码等&…

Jmeter文件上传不成功问题

前言 最近好忙呀&#xff0c;项目上线然后紧接着又客户培训了&#xff0c;由于项目有个模块全是走配置的&#xff0c;所以导致问题不断&#xff0c;近期要培训为了保障培训时客户同时操作的情况&#xff0c;所以把我从功能端抽出来做压测了&#xff0c;之前安排了2个同事写压测…

微调大型语言模型进行命名实体识别

大型语言模型的目标是理解和生成与人类语言类似的文本。它们经过大规模的训练&#xff0c;能够对输入的文本进行分析&#xff0c;并生成符合语法和语境的回复。这种模型可以用于各种任务&#xff0c;包括问答系统、对话机器人、文本生成、翻译等。 命名实体识别&#xff08;Na…

基于深度学习的口罩人脸识别研究进展

MTCNN模型训练输入的所有图像都是正样本&#xff08;戴口罩的照片&#xff09;&#xff0c;没有负样本作为模型输入。在后续的识别任务模块中&#xff0c;导入MTCNN模型检测结果&#xff0c;对特征点进行编码比较进行识别。 基于MTCNN的口罩人脸识别框架可分为四个阶段&#xf…

Linux 时间系统调用

UNIX及LinuxQ的时间系统是由「新纪元时间」Epoch开始计算起。Epoch是指定为1970年1月1日凌晨零点零分零秒&#xff0c;格林威治时间。目前大部份的UNX系统都是用32位来记录时间&#xff0c;正值表示为1970以后&#xff0c;负值则表示1970年以前。 对于当前时间到Epoch 我们用两…

刷题日记——干碎那个BFS!(含国科大机试2021)

例题小引——迷宫问题 问题描述: 迷宫由n行m列的单元格组成(n&#xff0c;m都小于等于50&#xff09;&#xff0c;每个单元格要么是空地&#xff0c;要么是障碍物。 现请你找到一条从起点到终点的最短路径长度。 分析——&#xff08;迷宫问题BFS解法&#xff09; 使用BFS…

鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:GridRow)

栅格布局可以为布局提供规律性的结构&#xff0c;解决多尺寸多设备的动态布局问题&#xff0c;保证不同设备上各个模块的布局一致性。 栅格容器组件&#xff0c;仅可以和栅格子组件(GridCol)在栅格布局场景中使用。 说明&#xff1a; 该组件从API Version 9开始支持。后续版本…

实战!wsl 与主机网络通信,在 wsl 中搭建服务器。学了计算机网络,但只能刷刷面试题?那也太无聊了!这篇文章可以让你检测你的计网知识!

前言&#xff08;碎碎念&#xff09;&#xff1a;每次发布文章时&#xff0c;我都是一个纠结的过程。因为我给自己写笔记时&#xff0c;只需要记录自己不清晰或者易忘的知识点就可以了&#xff0c;但一旦想要作为文章发布&#xff0c;那么我就得考虑到很多人是纯新手&#xff0…

1TGE120011R1111变频器全国发货质保一年

1TGE120011R1111 ABB ABB的1TGE120011R1111是一个属于其TGE系列的小型断路器&#xff08;也称为微型断路器或MCB&#xff09;。这个系列的断路器主要用于低压配电系统&#xff0c;为电路提供过载和短路保护。以下是这款断路器的一些特点&#xff1a; 紧凑设计&#xff1a;TGE系…

【数据库】数据库基本知识

1.数据库的四个基本概念 1.1 数据&#xff1a;描述事务的符号记录 1.2 数据库&#xff1a;概括的说&#xff0c;数据库数据具有永久存储、有组织的、可共享的大量数据的集合&#xff0c;数据库中的数据按一定的数据模型组织、描述和储存&#xff0c;具有较小的冗余度、较高的…

2、鸿蒙学习-申请调试证书和调试Profile文件

申请发布证书 发布证书由AGC颁发的、为HarmonyOS应用配置签名信息的数字证书&#xff0c;可保障软件代码完整性和发布者身份真实性。证书格式为.cer&#xff0c;包含公钥、证书指纹等信息。 说明 请确保您的开发者帐号已实名认证。每个帐号最多申请1个发布证书。 1、登录AppGa…

AI美图设计室试用,可以生成PPT,以及模特试衣

文章目录 美图设计室试用 美图设计室试用 美图设计室是美图秀秀的公司推出的AI图像处理工具&#xff0c;其功能涵盖图片编辑、抠图、海报设计、文生图等常用的AI功能。尽管很多功能需要开通会员使用&#xff0c;但一些免费功能的表现也还不错&#xff0c;值得一用。 美图设计…

【解读】NIST网络安全框架CSF 2.0

2014年&#xff0c;NIST&#xff08;美国国家标准与技术研究所&#xff0c;类似于中国的工信部&#xff09;首次发布了网络安全框架CSF&#xff08;Cybersecurity Framework)&#xff0c;十年后&#xff0c;在2024年2月26日发布了重大更新&#xff08;CSF 2.0&#xff09;&…

【蓝屏分析】WHEA_UNCORRECTABLE_ERROR 问题分析与解决

背景信息 电脑名字电脑类型厂商使用时间magicbook14 2020款 R5 4500U笔记本电脑荣耀HONOR3年9个月 内存CPUGPU硬盘焊死在主板上焊死在主板上集显PCIe 4.0 NVMe M.2 固态 软硬件错误源确定 电脑莫名频繁随机蓝屏&#xff0c;由于在软件环境上无迹可寻推测是硬件问题 蓝屏画面…

Pretrain-finetune、Prompting、Instruct-tuning训练方法的区别

来自&#xff1a;【多模态】28、LLaVA 第一版 | Visual Instruction Tuning 多模态模型的指令微调_多模态指令跟随数据-CSDN博客 几种模型训练方法的区别&#xff1a; 1、Pretrain-finetune&#xff1a;先在大量数据集上做预训练&#xff0c;然后针对某个子任务做 finetune 2…

Python图像处理指南:PIL与OpenCV的比较【第136篇—PIL】

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 Python图像处理指南&#xff1a;PIL与OpenCV的比较 图像处理在计算机视觉和图像识别等领域…

实现悲观协议,除了锁还能咋办?

相对乐观和局部悲观是一体两面的关系&#xff0c;识别它的要点就在于是否有全局有效性验证&#xff0c;这也和分布式数据库的架构特点息息相关。但是关于悲观协议&#xff0c;还有很多内容没有提及&#xff0c;下面我们就来填补这一大块空白。 悲观协议的分类 要先跳出来&…