openEuler安装Docker艰辛路程

news/2024/6/3 18:30:10 标签: docker, 容器, 运维

文章目录

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

docker_1">安装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_18">测试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查看所有镜像

docker_103">关于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_165">启动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_187">停止docker容器服务

docker stop IMAGE_ID

docker_193">查看docker启动进程

docker ps

查看所有docker启动进程

docker ps -a

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

docker update IMAGE_ID --restart=always

docker_207">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_230">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.niftyadmin.cn/n/5330075.html

相关文章

微服务治理:微服务断路器(微服务故障隔离模式)详解

微服务断路器是一种设计模式,可以保护系统免于级联故障,通过限制对故障服务的调用来实现。它的工作原理类似于电气断路器:当服务遇到问题时,它会切断请求流,使其有机会恢复,并防止其他服务被压垮。 工作原…

图像处理------亮度

from PIL import Imagedef change_brightness(img: Image, level: float) -> Image:"""按照给定的亮度等级&#xff0c;改变图片的亮度"""def brightness(c: int) -> float:return 128 level (c - 128)if not -255.0 < level < 25…

LVGL学习笔记 显示和隐藏 对象的属性标志位 配置

在显示GUI的过程中需要对某些对象进行临时隐藏或临时显示,因此需要对该对象的FLAG进行配置就可以实现对象的显示和隐藏了. 调用如下接口可以实现: lv_obj_add_flag(user_obj, LV_OBJ_FLAG_HIDDEN);//隐藏对象lv_obj_clear_flag(user_obj, LV_OBJ_FLAG_HIDDEN);//取消隐藏实现的…

【Python学习】Python学习15-模块

目录 【Python学习】Python学习15-模块 前言创建语法引入模块from…import 语句from…import* 语句搜索路径PYTHONPATH 变量-*- coding: UTF-8 -*-导入模块现在可以调用模块里包含的函数了PYTHONPATH 变量命名空间和作用域dir()函数globals() 和 locals() 函数reload() 函数Py…

ssm基于Java的药店药品信息管理系统的设计与实现论文

摘 要 传统信息的管理大部分依赖于管理人员的手工登记与管理&#xff0c;然而&#xff0c;随着近些年信息技术的迅猛发展&#xff0c;让许多比较老套的信息管理模式进行了更新迭代&#xff0c;药品信息因为其管理内容繁杂&#xff0c;管理数量繁多导致手工进行处理不能满足广大…

七、Qt 信号和槽

在QT4以上的版本&#xff0c;在窗体上用可以通过选中控件&#xff0c;然后点击鼠标右键单击按钮&#xff0c;选择“转到槽”。可以自动创建信号和槽。 选择clicked(),并点击 ok Qt Creator会给头文件和代码文件自动添加 这个按钮的单击事件&#xff08;信号和槽&#xff09;。 …

记录 | ubuntu软链接查看、删除、创建

软连接查看 ls -il 软连接删除 rm -rf ** 软连接创建 ln -s 源文件 目标文件 实例&#xff0c;软连接报错&#xff1a; 若要建立libtiny_reid.so*间软连接&#xff1a; 先删除 rm -rf libtiny_reid.so libtiny_reid.so.3 libtiny_reid.so.3.1 再建立 ln -s libtiny_re…

IIC学习之SHT30温湿度传感器(基于STM32)

简介 附上SHT30资料和逻辑分析仪源文件&#xff0c;点击下载 关于IIC的介绍网上已经非常详尽&#xff0c;这里只说重点&#xff1a; 双线&#xff08;SDA&#xff0c;SCL&#xff09;&#xff0c;半双工采用主从结构&#xff0c;支持一主多从&#xff0c;通过地址寻址&#…