openEuler安装Docker艰辛路程

news2024/11/18 7:23:34

文章目录

      • 安装docker
      • 测试docker
      • 关于windows docker
      • 拉取镜像
      • 查看所有镜像
      • 删除镜像
        • 删除不在运行的进程
        • 强制删除正在运行的进程
      • 启动docker容器服务
        • `-d`测试
      • 停止docker容器服务
      • 查看docker启动进程
      • 更新容器(没有自启动功能,更新为自启动)
      • docker端口映射
      • 进入容器修改内容
        • 退出容器修改内容
      • docker mysql容器
        • 安装linux的mysql
        • 初始化mysql
        • 配置参数
        • 重新设置mysql登录密码
      • iBMC开启88端口的防火墙访问

安装docker

先试过这篇文章(不管用,你们可能会解决)

之后我就用了自带的dnf参考这篇

dnf install -y docker-ce

然后各种报错,**原因其实都是源的问题(本来想偷懒,结果越来越麻烦)**试了一下午就恼火了,开始直接改元

[docker-ce-stable] 中的baseurl改成了https://mirrors.huaweicloud.com/docker-ce/linux/centos/8.0/x86_64/stable/ (其实换成你想要的版本即可,但要注意系统需对牢)
但还是在这里插入图片描述
需要修改所有gpgkey,改成华为镜像https://mirrors.huaweicloud.com/docker-ce/linux/centos/gpg(记得加gpg)

再次dnf install -y docker-ce
安装成功

测试docker

docker pull hello-world:latest

报错:Cannot connect to the Docker
daemon at uix:///var/run/docker.sock.Is the docke
daemon running?

参考
说是这个错误通常发生在没有正确配置 Docker 或者权限不足的情况下

解决方法
查看/var/run/docker.dock 文件是否变成目录,如果是就删除该目录

ll /var/run/docker.sock

如果不是文件夹也没有文件(我是这个情况),直接systemctl restart docker就可以正常使用了
在这里插入图片描述
下载出现在这里插入图片描述
我们开始换源!

vim /etc/docker/daemon.json

在里面填写

{
   "registry-mirrors":[
       "https://82m9ar63.mirror.aliyuncs.com"
   ],
   "exec-opts":["native.cgroupdriver=systemd"],
   "log-driver": "json-fille",
   "log-opts":{
       "max-size": "100m"
   },
   "storage-driver": "overlay2"
}

重启systemctl deamon-reload出现报错
在这里插入图片描述
你这里要确保/systemd-rc-local是否是能被执行的

ll /etc/rc.d/rc.local

在这里插入图片描述

# 设置为可执行
chmod +x /etc/rc.d/rc.local

这样再次去执行systemctl deamon-reload就可以成功

#重启docker
systemctl restart docker

在这里插入图片描述

systemctl status docker

在这里插入图片描述
注意ctrl+c键退出
先试着启动

systemctl start docker

还是报错,没办法只能

journalctl -xeu docker.service

在这里插入图片描述
查看docker进程

docker ps|grep elastic

在这里插入图片描述
启动docker

systemctl enable docker

也还是上述问题
手动启动

dockerd

在这里插入图片描述
使用docker images查看所有镜像

关于windows docker

下载地址需要下载WSL (其实是powershell管理员运行输入wsl --install)和powershell管理员运行配置: Enable-WindowsOptionalFeature -Online -FeatureName $("Microsoft-Hyper-V", "Containers") -All 这俩部后都要重启计算机(会更改配置)
配置windows的deamon.json文件

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "features": {
    "buildkit": true
  },
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn"
  ]
}

在这里插入图片描述

这样你的docker就可以在windows上正常使用了。其实还不完全但错误太多只能记录到这里,妄请大家见谅

拉取镜像

#下载最新版(docker pull mysql)
docker pull 镜像名
#下载指定版本(docker pull mysql:6.2.4 )
docker pull 镜像名:版本号

比如拉取mysql应用

docker pull mysql

下载下来的东西都在本地

查看所有镜像

docker images

在这里插入图片描述

我这里只下了hello-world的镜像

删除镜像

#docker rmi mysql(默认删除mysql:latest)
docker rmi 镜像名
#docker rmi mysql:6.2.4
docker rmi 镜像名:版本号
#docker rmi d2c94e258dcb
docker rmi IMAGE_ID
删除不在运行的进程
docker rm 自己使用--name取的名字
docker rm IMAGE_ID
强制删除正在运行的进程
docker rm -f IMAGE_ID

启动docker容器服务

#docker run 设置项 镜像名 镜像启动运行的命令(镜像里面默认有的,一般不会写)
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

常用的设置项[optrions]

  • --name:给应用起个名字,比如--name=chenmysql
  • -d: 后台运行
  • --restart:其中一个参数always这个参数表示这个容器服务下次服务器重启后会开机自启
  • -p: 表示port,意思就是端口
docker run mysql
-d测试
docker run --name=mynginx -d nginx

在这里插入图片描述

需要进行停止服务或删除服务,因为有应用在运行了

停止docker容器服务

docker stop IMAGE_ID

查看docker启动进程

docker ps

查看所有docker启动进程

docker ps -a

更新容器(没有自启动功能,更新为自启动)

docker update IMAGE_ID --restart=always

docker端口映射

docker run --name=mynginx -d --restart=always -p 88:80 nginx

进入容器修改内容

进入容器的命令台

#docker exec -it  IMAGE_ID /bin/sh
docker exec -it IMAGE_ID /bin/bash

在这里插入图片描述

这个nginx的html项目一般在/usr/share/nginx/html/
在这里插入图片描述

若执行docker exec -it mysql_image_id /bin/bash报错
在这里插入图片描述

docker start IMAGE_ID
退出容器修改内容

输入exit即可

docker mysql容器

设置 Docker 卷

docker volume create mysql-data

您可以通过发出以下命令列出 Docker 已知的所有卷

docker volume ls

在这里插入图片描述

docker run -d --name=mysql-server -p 3306:3306 -v mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=your_password mysql

如果出现docker ps -a中看到mysql是STATUS:‘ Exited (1) 2 minutes ago状态,那需要携带 --privileged

docker run --privileged -d --name=mysql-server -p 3306:3306 -v mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=your_password mysql
安装linux的mysql

下载的网页页面

wget https://dev.mysql.com/get/Downloads/MySQL-8.2/mysql-8.2.0-linux-glibc2.28-x86_64.tar.xz
tar -zxvf mysql-8.2.0-linux-glibc2.28-x86_64.tar.xz -C /usr/local/mysql

在这里插入图片描述

可以直接

xz -d mysgl-8.2.8-1inu×-g1ibc2.28-×86_64.tar.×z
tar -xvf mysgl-8.2.8-1inu×-g1ibc2.28-×86_64.tar -C /usr/local/
#更换为mysql文件名
mv mysgl-8.2.8-1inu×-g1ibc2.28-×86_64 mysql

进入mysql目录里

  1. 创建mysql组和用户
groupadd mysql
useradd -r -g mysql mysql
  1. 赋予权限
chown -R mysql.mysql /usr/local/mysql
初始化mysql

进入mysql的bin目录下

./mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --initialize
配置参数
vim /etc/my.cnf
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
#character config
character_set_server=utf8mb4
symbolic-links=0

懒得写了,反正我是参考这篇文章的

重新设置mysql登录密码
mysqladmin password yourpassword

在这里插入图片描述

ln -s /usr/local/mysql/bin/mysqladmin /usr/bin

在这里插入图片描述

mysqladmin -u root -p password yourpassword

在这里插入图片描述

上图是我输入密码的所以(passwoed:YES)不是密码正确,重点是connect to server at 'localhost' failed
/etc/my.cnf中添加一段skip-grant-tables
在这里插入图片描述

iBMC开启88端口的防火墙访问

最简单的方法就是systemctl stop firewalld但是这样不安全而且用不到这么多端口所以一般不会去做
启动防火墙systemctl start firewalld

开放一个端口

 firewall-cmd --add-port=88/tcp --permanent

在这里插入图片描述
重启

firewall-cmd --reload

在这里插入图片描述
这样对于本机的linux就可以了,虽然我们RH1288V3和电脑是在同一个网段下面但是对于防火墙的操作还是要在iBMC上的

还以为是这个(当然windows查看mac地址的方式的ipconfig /all)在这里插入图片描述结果不是。。。。

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

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

相关文章

Visual Studio调试模式下无法使用右键菜单将ppt转换到pdf

Visual Studio调试模式下无法使用右键菜单将ppt转换到pdf 症状 Visual Studio调试模式下,程序停在断点时,我临时需要将ppt转为pdf,遂右键单击文件,想直接转pdf,奈何光标转了几秒钟,毫无反应。 解决方法 …

ChatGPT4+Python近红外光谱数据分析及机器学习与深度学习建模

2022年11月30日,可能将成为一个改变人类历史的日子——美国人工智能开发机构OpenAI推出了聊天机器人ChatGPT3.5,将人工智能的发展推向了一个新的高度。2023年4月,更强版本的ChatGPT4.0上线,文本、语音、图像等多模态交互方式使其在…

快速知识付费平台搭建,一分钟搭建你的专属知识服务平台

产品服务 线上线下课程传播 线上线下活动管理 项目撮合交易 找商机找合作 一对一线下交流 企业文化宣传 企业产品销售 更多服务 实时行业资讯 动态学习交流 分销代理推广 独立知识店铺 覆盖全行业 个人IP打造 独立小程序 私域运营解决方案 公域引流 营销转化 …

Unity使用Protobuf

1.下载Protobuf ProtoBuf 2.打开它并且编译 如果有报错下载相应的.net版本即可 这里默认是6.0.100 由于我本机是8.0.100所以我改了这个文件 3.编译后的文件复制到Unity Assets/Plugins下 4.写个测试的proto文件 5.然后使用protoc生成 这里实现了一个简单的bat批量生成 Protos C…

电子招投标全程在线应用安全

电子招投标全程在线应用安全解决方案 电子招投标全程在线应用是指招标人、招标代理机构、投标人、评标专家、监管机构利用公共互联网开展的招标、投标、开标、评标、定标、监管的活动过程。 由于该过程全程在线运行在风险因素较多的公共互联网上,存在电子招投标中…

python爬虫-代理ip理解

目录 1、为什么使用代理IP 2、代理IP 3、IP池 4、代理分类: 5、python中使用代理IP 6、如何找可以使用的代理IP 7、拿到IP后,测试IP的有效性 8、扩展理解正向代理和反向代理 1、为什么使用代理IP 就是为了防止ip被封禁,提高爬虫的效…

隧道应用4-内网穿透EW的简单使用

与netsh端口映射内网类似,也是通过跳板机实现 EW官网地址:http://rootkiter.com/EarthWorm EW 是一套便携式的网络穿透工具,具有 SOCKS v5服务架设和端口转发两大核心功能,可在复杂网络环境下完成网络穿透。 注: 考虑…

sshpass 命令exit code 6 问题解决方法

近期在使用sshpass做自动化交互的脚本,结果运行命令后会返回错误码6,命令如下: sshpass -p 123456 ssh test192.168.1.100 "uname -a" 经搜索资料发现,错误码6指的是Host public key is unknown,也就是说要访问的地址是…

【Java基础(高级篇)】响应式编程

文章目录 1. 概述2. stream 流式编程3. Reactive-Stream4. 响应式编程5. Reactor5.1 Mono和Flux5.2 subscribe()5.3 多线程5.4 常用操作API示例5.5 错误处理5.6 Sinks 工具类 1. 概述 本章将从响应式编程的开始,从 stream 开始逐步递进,如对流式编程或响…

使用 GitHub 远程仓库

使用 GitHub 远程仓库 GitHub 是最大的 Git 版本库托管商,是成千上万的开发者和项目能够合作进行的中心。 大部分 Git 版本库都托管在 GitHub,很多开源项目使用 GitHub 实现 Git 托管、问题追踪、代码审查以及其它事情。本篇文章主要带大家上手 GitHub …

element-ui表单验证时undefined (reading ‘validate‘)

我搜索了一下,大部分都是说不仔细造成的,但是我一一对照了 1、el-form中我定义了ref,并且ref前面也是没有加冒号的 2、el-form中也绑定了rules,并且rules前面加了冒号 2、el-form-item我是加了prop的,并且和rules中…

程序员客栈发布《2023程序员自由职业报告》

自2020年以来,自由职业者的生态系统迅速繁荣,从而塑造了一个全新的职业发展模式。2023年,经济形势严峻,但灵活就业形式越来越流行,包括自由职业、远程办公和平台经济等。越来越多的人选择从事自由职业或者利用互联网平…

costmap_2d包介绍

文章目录 一. costmap_2d包介绍二. Costmap包的执行入口-- move_base中调用三. Costmap包的初始化以及维护3.1 Costmap2DROS类3.1.1 构造函数 Costmap2DROS::Costmap2DROS3.1.2 地图更新线程 Costmap2DROS::mapUpdateLoop3.1.3 地图更新 Costmap2DROS::updateMap()3.1.4 激活各…

【HuggingFace Transformer库学习笔记】基础组件学习:Datasets

基础组件——Datasets datasets基本使用 导入包 from datasets import *加载数据 datasets load_dataset("madao33/new-title-chinese") datasetsDatasetDict({train: Dataset({features: [title, content],num_rows: 5850})validation: Dataset({features: [titl…

高级定时器

本节主要介绍以下内容: 定时器简介 高级定时器功能框图讲解 一、定时器简介 定时器功能 :定时、输出比较、输入捕获、断路输入 定时器分类 :基本定时器、通用定时器、高级定时器 定时器资源 :F103有2个高级定时器、4个通…

C#编程-实现委托

实现委托 委托是可以存储对方法的引用的对象。在C#中,委托允许您动态地改变类中方法的引用。 考虑咖啡售货机的示例,它配置不同口味的咖啡,例如卡布奇诺咖啡和黑咖啡。在选择所需口味的咖啡时,售货机决定混合各种成分,例如奶粉、咖啡粉、热水、卡布奇诺咖啡粉。所有的材…

构建一个最新版本 Maven 项目

文章目录 构建一个最新版本 Maven 项目1. 所用各种软件的版本2. 踩过的坑3. 构建项目过程4. 项目打包方式 构建一个最新版本 Maven 项目 截止 2024 年 1 月 13 日,Apache 官网上 Maven 的最新安全版本为 3.9.6,下载、安装及配置方法见之前的博客&#x…

TIMESAT提取物候信息操作流程

TIMESAT提取物候信息操作流程 软件环境:Matlab R2014aTIMESAT3.2 数据介绍:MODIS A3或Q1的NVI(NDVI)均测试过这个流程,可行(大拇指)。 TIMESAT输入n年数据,提取n-1年的物候参数。通…

jmeter--4.参数化的方式

目录 1. 用户定义的变量 2. 用户参数 3. 函数助手 3.1 time获取当前时间 3.2 Random随机数 3.3 随机字符串函数 3.4 字符串变更为大写 4. CSV数据文件设置 5. 接口关联--正则和json等提取 1. 用户定义的变量 线程组->添加->配置元件->用户定义的变量 引用方…

【设计模式-06】Observer观察者模式

简要说明 事件处理模型 场景示例:小朋友睡醒了哭,饿! 一、v1版本(披着面向对象的外衣的面向过程) /*** description: 观察者模式-v1版本(披着面向对象的外衣的面向过程)* author: flygo* time: 2022/7/18 16:57*/ public class ObserverMain…