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

进入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 等软件都可以成功了。
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HAProxy高性能负载均衡器

一、HAProxy基础知识 &#xff08;一&#xff09;HAProxy概述 HAProxy是一款基于事件驱动、单进程模型设计的四层与七层负载均衡器&#xff0c;它能够在TCP/UDP层面以及HTTP(S)等应用层协议上实现高效的流量分发。HAProxy不仅适用于Web服务器负载均衡&#xff0c;还能应用于数据…

vulhub中DNS域传送漏洞复现

DNS协议支持使用axfr类型的记录进行区域传送&#xff0c;用来解决主从同步的问题。如果管理员在配置DNS服务器的时候没有限制允许获取记录的来源&#xff0c;将会导致DNS域传送漏洞。 环境搭建 Vulhub使用Bind9来搭建dns服务器&#xff0c;但不代表只有Bind9支持AXFR记录。运行…

网络通信.

1.物理层&#xff1a;网络通信的基础设施 运快递的公路 2.数据链路层 两个相邻的节点之间如何传输 两个集散点之间的传输 3.网络层 两个点之间的路径规划 物流公司规划快递的路径 4.传输层 两个点之间的通信&#xff08;不考虑路径规划&#xff09; 卖家发货 只考虑起点和终点 …

java----网络编程(一)

一.什么是网络编程 用户在浏览器中&#xff0c;打开在线视频网站&#xff0c;如优酷看视频&#xff0c;实质是通过网络&#xff0c;获取到网络上的一个视频资源。 与本地打开视频文件类似&#xff0c;只是视频文件这个资源的来源是网络。所谓网络资源就是网络中获取数据。而所…

SpringTask实现的任务调度与XXL-job实现的分布式任务调度【XXL-Job工作原理】

目录 任务调度 分布式任务调度 分布式任务调度存在的问题以及解决方案 使用SpringTask实现单体服务的任务调度 XXL-job分布式任务调度系统工作原理 XXL-job系统组成 XXL-job工作原理 使用XXL-job实现分布式任务调度 配置调度中心XXL-job 登录调度中心创建执行器和任务 …

安装OpenEBS,镜像总是报错ImagePullBackOff或者ErrImagePull的解决方法

按照 KubeSphere 官方文档安装 OpenEBS&#xff0c;镜像总是报错ImagePullBackOff或者ErrImagePull的解决方法 helm 有很多更换 源 的文章&#xff0c;有一些是写更换阿里云的源&#xff0c;但是阿里云的源根本没更新OpenEBS的镜像。 在网上找到1个可用的源&#xff1a; 可用的…

nodejs pkg打包跨平台执行文件,带.node插件

在nodejs引入的第三方库中,大部分插件都是nodejs原生开发,使用pkg可以快速打包,生成windows、linux(ubuntu、centOS等)、麒麟系统下面执行文件。遇到了第三方插件gdal、sharp、sqlite3,在webstorm中打包生成执行文件,跨平台部署的时候会出现找不到###.node文件,需要获取部…

BUUCTF-----[CISCN 2019 初赛]Love Math

<?php error_reporting(0); //听说你很喜欢数学&#xff0c;不知道你是否爱它胜过爱flag if(!isset($_GET[c])){show_source(__FILE__); }else{//例子 c20-1$content $_GET[c];if (strlen($content) > 80) {die("太长了不会算");}$blacklist [ , \t, \r, \n…

Employing Multi-Estimations for Weakly-Supervised Semantic Segmentation

eighted selective training (WST) 辅助信息 作者未提供代码

《手把手教你》系列技巧篇(三十七)-java+ selenium自动化测试-日历时间控件-上篇(详解教程)

1.简介 我们在实际工作中&#xff0c;有可能遇到有些web产品&#xff0c;网页上有一些时间选择&#xff0c;然后支持按照不同时间段范围去筛选数据。网页上日历控件一般&#xff0c;是一个文本输入框&#xff0c;鼠标点击&#xff0c;就会弹出日历界面&#xff0c;可以选择具体…

x6.js 从流程图组件库中拖拽组件到画布dnd使用

上一篇已经了解到了x6.js常用功能以及使用方法。但我们使用流程图的时候还少不了一个非常重要的功能那就是拖拽组件库里的组件进来。如下图&#xff1a; 首先是布局这块&#xff0c;拖拽组件库的视图中布局无需我们去写&#xff0c;我们只需把界面搭建好。 添加组件库 1.搭建布…

LeetCode 0310.最小高度树:拓扑排序秒了

【LetMeFly】310.最小高度树&#xff1a;拓扑排序秒了 力扣题目链接&#xff1a;https://leetcode.cn/problems/minimum-height-trees/ 树是一个无向图&#xff0c;其中任何两个顶点只通过一条路径连接。 换句话说&#xff0c;一个任何没有简单环路的连通图都是一棵树。 给你…

JavaScript 进阶(一)

一、作用域 作用域&#xff08;scope&#xff09;规定了变量能够被访问的“范围”&#xff0c;离开了这个“范围”变量便不能被访问。 作用域分为&#xff1a; 局部作用域 、全局作用域。 1.1局部作用域 局部作用域分为函数作用域和块作用域。 1. 函数作用域&#xff1a; 在函数…

力扣刷题Days20-151. 反转字符串中的单词(js)

目录 1,题目 2&#xff0c;代码 1&#xff0c;利用js函数 2&#xff0c;双指针 3&#xff0c;双指针加队列 3&#xff0c;学习与总结 1&#xff0c;正则表达式 / \s /&#xff1a; 2&#xff0c;结合使用 split 和正则表达式&#xff1a; 1,题目 给你一个字符串 s &am…

[漏洞分析]Fortinet FortiNAC CVE-2022-39952简析

Fortinet FortiNAC CVE-2022-39952简析 一、影响版本二、概况三、利用CVE-2022-39952四、POC 一、影响版本 FortiNAC 9.4.0 FortiNAC 9.2.0 - 9.2.5 FortiNAC 9.1.0 - 9.1.7 FortiNAC 8.3 - 8.8 二、概况 Fortinet 在其安全公告中表示&#xff0c;他们在keyUpload script…

深入解析红黑树(RB-Tree):原理、操作及应用

文章目录 一、红黑树的特点与性质二、红黑树的实现1、实现红黑树的插入操作2、红黑树的验证方法a. Check 函数b. IsBalance 函数 红黑树作为一种自平衡的二叉搜索树&#xff0c;在计算机科学领域中占据着重要的地位。它的设计旨在在维持树的平衡性的同时&#xff0c;保证各种操…

【JavaScript】JavaScript 运算符 ⑤ ( 赋值运算符 | 基础赋值运算符 与 复合赋值运算符 )

文章目录 一、JavaScript 赋值运算符1、赋值运算符 概念2、基础赋值运算符 与 复合赋值运算符3、复合赋值运算符4、完整代码示例 一、JavaScript 赋值运算符 JavaScript 赋值运算符种类 : 基础赋值运算符 : 等于 : ; 复合赋值运算符 : 加等 : 减等 : -乘等 : *除等 : /取模等…

基于springboot+vue的房屋交易平台

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

App拉新必备!Xinstall渠道追踪,让每一分钱都花在刀刃上

在移动互联网时代&#xff0c;App已经成为人们日常生活中不可或缺的一部分。然而&#xff0c;对于App开发者来说&#xff0c;如何有效地进行拉新&#xff0c;提高用户留存率&#xff0c;一直是一个难题。而渠道追踪&#xff0c;作为App推广过程中的重要环节&#xff0c;往往被忽…

029—pandas 遍历行非向量化修改数据

前言 在 pandas 中&#xff0c;向量化计算是指利用 pandas 对象的内置方法和函数&#xff0c;将操作应用到整个数据结构的每个元素&#xff0c;从而在单个操作中完成大量的计算。 但在一些需求中&#xff0c;我们无法使用向量化计算&#xff0c;就需要迭代操作&#xff0c;本例…