解决Permission is not allowed后基于Ubuntu23.04安装配置docker与docker-compose

参考Docker官网-Install Docker Engine on Ubuntu

虚拟机里安装ubuntu-23.04-beta-desktop-amd64,开启SSH(换源、备份),配置中文以及中文输入法等

基于CentOS7安装配置docker与docker-compose

一、 Install using the Apt repository

1.1 Set up Docker’s Apt repository

1.1.1 Add Docker’s official GPG key
# Add Docker's official GPG key:
sudo apt-get updatesudo apt-get install ca-certificates curl gnupgsudo install -m 0755 -d /etc/apt/keyringscurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpgsudo chmod a+r /etc/apt/keyrings/docker.gpg

在这里插入图片描述

1.1.2 Add the repository to Apt sources
# Add the repository to Apt sources:
echo \"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \sudo tee /etc/apt/sources.list.d/docker.list > /dev/nullsudo apt-get update

在这里插入图片描述

1.2 Install the Docker packages(Latest 最新版)

注意这里安装最新版,其他特殊版本Specific version参考:Docker官网-Install Docker Engine on Ubuntu
To install the latest version, run:

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

在这里插入图片描述

1.3 Verify that the Docker Engine installation is successful by running the hello-world image

sudo docker run hello-world

在这里插入图片描述
在这里插入图片描述

二、安装docker-compose

2.1 解决Permission is not allowed

2.1.1 设置root

docker-compose-linux-x86_64_2.2.2 网盘下载
/usr/local/bin系统可执行目录

下载完docker-compose-linux-x86_64_2.2.2,上传到/usr/local/bin目录会发现无法上传提示Permission is not allowed发现当前Ubuntu23.04登录的用户无法登录xftp软件,是因为你当前登录的用户权限不足,无法将文件上传到系统可执行目录/usr/local/bin,需要使用root用户。
在这里插入图片描述

如果你从未设置和登录过root用户,就直接使用su root切换root用户就会报su:认证失败或者su :Authentication failure的错误。

在这里插入图片描述
在安装软件等情况下时,可能会提示权限不够,获取root用户的流程如下(第一次正确设置和使用root用户) 注意root密码要记住,不要泄露在这里插入图片描述
上面是配置了中文语言的Ubuntu23.04 第一次正确设置和使用root用户,英文版本Ubuntu23.04相关命令注释可参照下图
在这里插入图片描述

2.2.2 修改系统sshd_config文件
//使用root用户,输入刚才设置的root用户密码
su root

root用户在命令行或图形化界面中,也是无法直接登录,这是因为ubuntu23.04系统默认root用户是无法直接登录,需要先登录普通用户($),后使用su root命令切换到root用户(#)

正确设置和使用root用户后,此时会发现root用户仍然无法直接登录xftp等远程登录软件,想要直接远程登录root用户需要配置系统sshd_config文件,该文件位于/etc/ssh/sshd_config
在这里插入图片描述

//1-修改前,先备份sshd_config文件
cd /etc/ssh
#sshd_config_backup2023918为新备份文件名称
cp  sshd_config  sshd_config_backup2023918或者#sshd_config_backup2023918为新备份文件名称
sudo cp /etc/ssh/sshd_config  /etc/ssh/sshd_config_backup2023918//2-修改系统sshd_config文件
#具体的操作步骤如下:
1、编辑sshd_config
sudo vi /etc/ssh/sshd_config  
或者
sudo vim /etc/ssh/sshd_config2、使用i键或者insert键开启编辑模式,如果你第一次使用此模式,大概率使用↑ ↓ ← → 方向键时会变成ABCD
字符,如何解决问题,使得可以使用方向键来移动光标,编辑修改文件。
参考2.2 解决insert模式下按方向键ABCD字母无法移动光标修改文件3、将port 22前面的 #符号删除。
在Authentication的配置后面,增加上 PermitRootLogin yes ,表示允许root登录。4、保存(ESC键退出i模式,:wq!保存并且退出,!表示强制) (这里是"冒号:""字母w"、“字母q”、“感叹号!”,依次按)5、cat /etc/ssh/sshd_config  或者cat sshd_config 查看是否修改成功6、重启SSH服务(最后一步)service ssh restart
或者
/etc/init.d/ssh restart

备份sshd_config文件
在这里插入图片描述
修改系统sshd_config文件
在这里插入图片描述
cat查看是否修改成功
在这里插入图片描述
重启SSH服务(最后一步) , 然后退出系统,重新登录系统,与此同时root(#)用户已经可以直接登录xftp等远程登录软件。并且想要在命令行或图形化界面中使用root用户,均需要先登录普通用户($),后使用su root命令切换到root用户(#)

注意:普通用户名末尾处会显示美元符号$,root用户名末尾处会显示#符号,以此可以区分不同类型用户。
在这里插入图片描述

2.2 解决insert模式下按方向键ABCD字母无法移动光标修改文件

Ubuntu方向键变成字母解决办法

# 1、卸载系统的vi编辑器
sudo apt-get remove vim-common
# 2、安装最新的vim编辑器
sudo apt-get install vim

在这里插入图片描述

2.3 使用root用户上传成功

在这里插入图片描述

2.4 安装docker-compose

//进入/usr/local/bin目录
cd /usr/local/bin//命令改名或者通过xftp软件工具选中右击重命名来改名
//执行完命令后,只存在一个docker-compose文件
mv docker-compose-linux-x86_64_2.2.2  docker-compose或者//复制docker-compose-linux-x86_64_2.2.2为docker-compose
//执行完命令后,存在两个文件docker-compose-linux-x86_64_2.2.2和docker-compose
cp docker-compose-linux-x86_64_2.2.2 docker-compose#授权让当前文件是可以执行的,允许执行,有执行的权限。
//任意目录下
chmod +x /usr/local/bin/docker-compose
或者
//已经处于/usr/local/bin/目录下就执行这个命令
chmod +x docker-compose#检查版本,正常情况下会显示:Docker Compose version v2.2.2
docker-compose --version
或者
docker-compose version

在这里插入图片描述
查看docker和docker-compose版本

//查看docker客户端和服务器版本
docker version 
//只查看docker服务器版本
docker --version//查看docker-compose版本
docker-compose --version
或者
docker-compose version

在这里插入图片描述

三、参考文章

Docker官网-Install Docker Engine on Ubuntu

虚拟机里安装ubuntu-23.04-beta-desktop-amd64,开启SSH(换源、备份),配置中文以及中文输入法等

基于CentOS7安装配置docker与docker-compose

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

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

相关文章

线性代数的本质(七)——特征值和特征向量

特征值和特征向量 本章特征值和特征向量的概念只在方阵的范畴内探讨。 相似矩阵 Grant:线性变换对应的矩阵依赖于所选择的基。 一般情况下,同一个线性变换在不同基下的矩阵不同。仍然以平面线性变换为例,Grant 选用标准坐标系下的基向量 i…

fastjson远程命令执行

fastjson远程代码执行 漏洞原因:fastjson在对json字符串反序列化的时候,会读取到type的内容,将json内容反序列化为java对象并调用这个类的setter方法。 1、搭建rmi服务 直接利用jndi-exploit工具 2、抓包改为POST。开启nc监听、发包 PO…

贸易战的影响:跨境电商的“黑洞”风险与机遇

当今全球贸易局势充满了不确定性和动荡。贸易战的阴云笼罩下,跨境电商企业面临着前所未有的挑战,但与此同时,也蕴藏着巨大的机遇。本文将深入探讨贸易战对跨境电商的影响,以及企业在这个新现实中如何应对风险并寻找机遇。 贸易战的…

快手商品详情数据API接口【关键词搜索商品列表数据】APP端商品详情数据

快手商品API接口是快手电商平台为开发者提供的一组接口,允许开发者通过程序代码访问快手电商平台的商品数据,实现商品信息的获取等操作。以下是快手商品API接口的一些常用功能: 获取商品列表:通过该接口可以获取店铺或分类下的商…

npm常用命令系统介绍

npm常用命令系统介绍 npm helpnpm initpackage.json 文件package.json 文件属性说明默认 package.json 文件--参数[-yes|-y]设置 package.json 中字段的默认值package-lock.json 文件 npm [config|c]设置源 npm [install|i]可选参数:全局安装的特性 包的删除npm uni…

Vue3 - 实现动态获取菜单路由和按钮权限控制指令

GitHub Demo 地址 在线预览 前言 关于动态获取路由已在这里给出方案 Vue - vue-admin-template模板项目改造:动态获取菜单路由 这里是在此基础上升级成vue3和ts,数据和网络请求是通过mock实现的 具体代码请看demo!!! 本地权限控制,具体是通过…

(总目录)springboot - 实现zip文件上传并对zip文件解压, 包含上传oss

全文目录,一步到位 1.本文概述1.1 本文简介 2. 功能实现2.1 统一文件校验2.2 普通(多)文件上传[服务器]2.2.1 controller层2.2.2 service层2.2.3 业务impl实现类2.2.4 FileIOUtils工具包代码 2.3 zip文件的解压2.4 图片文件的压缩2.5 oss文件后端上传2.6 oss文件前端上传2.7 后…

matlab读写json文件

Background 通常,在matlab中使用mat文件进行数据存储。MAT文件是MATLAB中用来存储数据的二进制文件格式。MAT文件可以包含各种数据类型,包括数字、矩阵、向量、结构体、字符和函数等。但是,当和其他语言有交互时,mat文件会不太方便…

golang实现远程控制主机

文章目录 ssh原理使用golang远程下发命令使用golang远程传输文件 ssh原理 说到ssh原理个人觉得解释最全的一张图是这张华为画的 Connection establishment 这一步就是建立tcp连接 version negotiation 这一步是ssh客户端(连接者)和被ssh服务端(连接者)进行协议的交换&#xf…

Jetpack Compose 的简单 MVI 框架

Jetpack Compose 的简单 MVI 框架 在 Jetpack Compose 应用程序中管理状态的一种简单方法 选择正确的架构是至关重要的,因为架构变更后期代价高昂。MVP已被MVVM和MVI取代,而MVI更受欢迎。MVI通过强制实施结构化的状态管理方法,只在reducer中…

控制台日志打印console的封装,加入美化、行显示与打印开关,支持node.js环境

控制台日志打印console的封装,加入美化、行显示与打印开关,支持node.js环境 为什么要写这个? 封装这个控制台日志打印工具,主要是在项目中自己做的SDK需要提供给其他开发人员使用,加入了日志美化和打印打开&#xff…

【数据结构】顺序表与ArrayList

作者主页:paper jie 的博客 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文录入于《JAVA数据结构》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精…

【云计算】虚拟私有云 VPC

虚拟私有云 VPC 1.前言1.1 基本介绍1.2 VPC 的作用1.3 VPC 的适用人群 2.VPC 基本概念2.1 VPC 相关基本概念2.2 其他相关基本概念 3.VPC 通信场景3.1 VPC 内部互通3.2 VPC 间互通3.2.1 对等连接3.2.2 Transit Gateway 或者云联网 3.3 访问 Internet3.3.1 Internet 网关3.3.2 NA…

【HCIE】04.网络安全技术

端口隔离 在同一VLAN中可以隔离二层与三层通信,让同VLAN内的设备可以通信或者不可以通信。 定义一个端口隔离组,在一个组内无法互访,不在一个组里面可以进行互访 port-isolate enable group1 //使能端口隔离功能 port-isolate mdoe all //全…

B : DS顺序表--连续操作

Description 建立顺序表的类,属性包括:数组、实际长度、最大长度(设定为1000) 该类具有以下成员函数: 构造函数:实现顺序表的初始化。 插入多个数据的multiinsert(int i, int n, int item[])函数&#…

Unity 开发人员转CGE(castle Game engine)城堡游戏引擎指导手册

Unity 开发人员的城堡游戏引擎概述 一、简介2. Unity相当于什么GameObject?3. 如何设计一个由多种资产、生物等组成的关卡?4. 在哪里放置特定角色的代码(例如生物、物品)?Unity 中“向 GameObject 添加 MonoBehaviour”…

Vue3大屏项目实现数字跳动的效果

一、vue-count-to组件&#xff1a; 1、安装&#xff1a; npm install vue3-count-to --save 2、使用&#xff1a; <template><BaseCountTo:startVal"startVal":endVal"endVal":duration"duration":decimals"decimals":pr…

基于复旦微的FMQL45T900全国产化ARM核心模块(100%国产化)

TES745D是一款基于上海复旦微电子FMQL45T900的全国产化ARM核心板。该核心板将复旦微的FMQL45T900&#xff08;与XILINX的XC7Z045-2FFG900I兼容&#xff09;的最小系统集成在了一个87*117mm的核心板上&#xff0c;可以作为一个核心模块&#xff0c;进行功能性扩展&#xff0c;能…

Redis 五大类型源码及底层实现

面试题&#xff1a; 谈谈Redis数据类型的底层数据结构&#xff1a; SDS动态字符串双向链表玉缩列表ziplist哈希表hashtable跳表kiplist整数集合intset快速列表quicklist紧凑列表listpack Redis源代码的核心部分 官网&#xff1a;GitHub - redis/redis: Redis is an in-memory…

在已知的二维坐标里找到最接近的点

一、业务场景 最近在研发的项目&#xff0c;在做可视化层&#xff0c;在全球地图上&#xff0c;对我们的国家的陆地地图经纬度按照步长为1的间隔做了二维处理。在得到一组整数的点位信息后&#xff0c;需要将我们已有的数据库数据(业务项目)按照地址的经纬度&#xff0c;映射到…