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

news2024/12/30 3:18:27

参考Docker官网-Install Docker Engine on Ubuntu

一、 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 update

sudo apt-get install ca-certificates curl gnupg

sudo install -m 0755 -d /etc/apt/keyrings

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

sudo 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/null
  
sudo 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密码要记住,不要泄露
在这里插入图片描述
上面是配置了中文语言的Ubuntu23.04 第一次正确设置和使用root用户,英文版本Ubuntu23.04相关命令注释可参照下图
在这里插入图片描述

2.2.2 修改系统sshd_config文件

//使用root用户,输入刚才设置的root用户密码
su root

正确设置和使用root用户后,此时会发现root用户仍然无法登录xftp软件,这是因为ubuntu23.04系统默认root用户是无法直接登录,登录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_config


2、使用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服务(最后一步)
在这里插入图片描述

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.coloradmin.cn/o/1020636.html

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

相关文章

【AI视野·今日Sound 声学论文速览 第六期】Mon, 18 Sep 2023

AI视野今日CS.Sound 声学论文速览 Mon, 18 Sep 2023 Totally 1 papers 👉上期速览✈更多精彩请移步主页 Daily Sound Papers Audio-Visual Active Speaker Extraction for Sparsely Overlapped Multi-talker Speech Authors Junjie Li, Ruijie Tao, Zexu Pan, Meng…

解决express服务器接收post请求报错:“req.body==> undefined“

现象如下: 解决办法:在代码中加入body-parser解析 const bodyParser require("body-parser"); app.use(bodyParser.urlencoded({ extended: true })); app.use(bodyParser.json()); 参考: How to fix "req.body undefined&q…

buuctf-[极客大挑战 2019]HardSQL

很久没做sql了。。 打开这题,还想拿sqlmap跑,但是没跑出来,要手注了 先用万能密码登了一下 回显,是有爆东西的 然后就想到先用bp fuzz字典跑一下 就看到等号被过滤了,要用like来过滤 然后就去搜了很多用like过滤的…

北工大汇编题——分支程序设计

题目要求 信息检素程序设计:在数据区,有9个不同的信息,编号 0-8,每个信息包括20 个字符。从键盘接收 0-8 之间的一个编号,然后再屏幕上显示出相应编号的信息内容,按“q”键退出 完整代码 DATAS SEGMENTn0…

2023 Google 开发者大会:将大型语言模型部署到你的手机

在2022年末,不到半年时间,各家大语言模型的发展如雨后春笋,截至2023年9月,全球总共有接近100个大语言模型,可谓是百花齐放 显而易见,大语言模型凭借出色的AI对话能力,已经逐渐深入各个行业 20…

TUME加湿器上架店铺UL998测试报告

加湿器按用途主要分为家用加湿器和工业用加湿器两种类型。超声波加湿器采用超声波高频震荡1.7MHZ频率,将水雾化为1-5微米的超微粒子,能清新空气,增进健康,营造舒适的环境。 直接蒸发型加湿器也通常被称为纯净型加湿器。纯净加湿技…

口罩识别检测开源数据集汇总

SF-MASK 数据集下载链接:http://suo.nz/2E6ADA 从监控录像中对有面具和无面具的人脸进行分类是最困难的任务之一,数据集SF-MASK来解决这些问题,该数据集适用于小尺寸人脸、部分隐藏的人脸、各种人脸方向和各种面具类型等。SF-MASK是通过收集…

new/delete, malloc/free 内存泄漏如何检测

区别: 首先new/delete是运算符,malloc/free是库函数。malloc/free只开辟内存不初始化;new/delete及开辟内存也初始化。抛出异常的方式:new/delete开辟失败使用抛出bad_alloc;malloc/free通过返回值判断。malloc和new区…

华为OD机试-仿LISP运算

题目描述 代码实现 # coding:utf-8 # 仿LISP运算 # https://www.nowcoder.com/discuss/360006188531032064?sourceSSRsearch import systry:while True:line sys.stdin.readline().replace((, ( ).replace(), )).strip().split( )if line :breakstack []op []error_flag…

HCIE-容器docker

1、安装配置操作系统,使用CentOS stream 8镜像 之前:RHEL 8.4 发布了,CentOS紧随其后,发布CentOS 8.4 之后:CentOS 走在前面,成为RHEL上游,再去发布RHEL 制作模板,模板配置要求&…

three.js——GUI的使用

GUI的使用 效果图1、导入gui2、创建一个GUI对象3、通过gui调用方法 name:按钮的名称 效果图 1、导入gui // 导入ligui import { GUI } from three/examples/jsm/libs/lil-gui.module.min.js2、创建一个GUI对象 const gui new GUI()3、通过gui调用方法 name:按钮的名称 // 创…

Cpp/Qt-day020918Qt

目录 完善登录框 点击登录按钮后,判断账号(admin)和密码(123456)是否一致,如果匹配失败,则弹出错误对话框,文本内容“账号密码不匹配,是否重新登录”,给定两…

React 像 vue 一样配置页面路由,并支持重定向路由,路由守卫等(使用 useRoutes 完成)

希望达到跟 vue 一样,在 js 配置中则完成路由重定向的等基础操作,不太习惯使用 Routes、Route 等互相包裹的方式。 所有基于 react-router-dom6.15.0 封装了一个路由组件,并附带展示个路由守卫组件。 路由组件 - ExRouter.tsx:&…

金属热处理 术语

声明 本文是学习GB-T 7232-2023 金属热处理 术语. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本文件界定了金属热处理基础、热处理工艺、组织与性能和热处理装备的主要术语及其定义。 本文件适用于金属热处理相关技术标准及技术文件。 …

vscode 代码片段,快捷注释

一、Ctrl shift p 输入 snippets 配置代码片段 二、可以新建全局片段, 也可以配置现有的。 三、插入代码片段配置 { // api: 提供给第三方使用的接口 // author: 标明作者 // param: 参数 // return: 返回值 // todo: 待办 // version: 版本号 // inheritdoc: …

线性代数与编程语言结合 基础

什么是线性代数 线性代数是数学的一个分支,研究向量空间和线性变换的理论与方法。它涉及了向量、矩阵、线性方程组、线性映射等概念与运算规则。线性代数在科学和工程领域中被广泛应用,如物理学、计算机图形学、统计学、电子工程等。它提供了一种强大的…

艾奇软件怎么下载安装?

艾奇视频电子相册制作软件是免费的电子相册制作软件,照片配上音乐加上炫酷的过渡效果点缀图片和文字说明,轻松制作成各种视频格式的电子相册。 现在很多人尝试制作电子相册来记录美好瞬间,不论是婚礼邀请函,商业宣传,…

SpringCloud——微服务

微服务技术栈 在之前的开发过程中,我们将所有的服务都部署在一台服务器中,当我们的服务开始越来越多,业务越来越复杂,当一台服务器不能承担我们的业务的时候,就需要将不同的业务分开部署在不同的服务器上,…

leetcode725. 分隔链表(java)

分隔链表 题目描述拆分链表代码演示 题目描述 给你一个头结点为 head 的单链表和一个整数 k ,请你设计一个算法将链表分隔为 k 个连续的部分。 每部分的长度应该尽可能的相等:任意两部分的长度差距不能超过 1 。这可能会导致有些部分为 null 。 这 k 个部…

C【操作符】

1. 操作符分类: 2. 算术操作符 int main() {double a 5 % 2;//商2余1printf("a %lf\n", a);return 0; } 3. 移位操作符 3.1 左移操作符 左边抛弃、右边补0 3.2 右移操作符 首先右移运算分两种: 1. 逻辑移位 左边用0填充,右边丢…