openEuler安装Docker艰辛路程

文章目录

安装docker

先试过这篇文章(不管用,你们可能会解决)
之后我就用了自带的dnf参考这篇

shell 复制代码
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

shell 复制代码
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 文件是否变成目录,如果是就删除该目录

shell 复制代码
ll /var/run/docker.sock

如果不是文件夹也没有文件(我是这个情况),直接systemctl restart docker就可以正常使用了

下载出现

我们开始换源!

shell 复制代码
vim /etc/docker/daemon.json

在里面填写

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是否是能被执行的

shell 复制代码
ll /etc/rc.d/rc.local
shell 复制代码
# 设置为可执行
chmod +x /etc/rc.d/rc.local

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

shell 复制代码
#重启docker
systemctl restart docker
shell 复制代码
systemctl status docker

注意ctrl+c键退出

先试着启动

shell 复制代码
systemctl start docker

还是报错,没办法只能

shell 复制代码
journalctl -xeu docker.service

查看docker进程

shell 复制代码
docker ps|grep elastic

启动docker

shell 复制代码
systemctl enable docker

也还是上述问题
手动启动

shell 复制代码
dockerd

使用docker images查看所有镜像

关于windows docker

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

配置windows的deamon.json文件

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

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

拉取镜像

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

比如拉取mysql应用

shell 复制代码
docker pull mysql

下载下来的东西都在本地

查看所有镜像

shell 复制代码
docker images

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

删除镜像

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

启动docker容器服务

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

常用的设置项optrions

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

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

停止docker容器服务

shell 复制代码
docker stop IMAGE_ID

查看docker启动进程

shell 复制代码
docker ps

查看所有docker启动进程

shell 复制代码
docker ps -a

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

shell 复制代码
docker update IMAGE_ID --restart=always

docker端口映射

shell 复制代码
docker run --name=mynginx -d --restart=always -p 88:80 nginx

进入容器修改内容

进入容器的命令台

shell 复制代码
#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报错

shell 复制代码
docker start IMAGE_ID
退出容器修改内容

输入exit即可

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

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

启动防火墙systemctl start firewalld
开放一个端口

shell 复制代码
 firewall-cmd --add-port=88/tcp --permanent

重启

shell 复制代码
firewall-cmd --reload

这样对于本机的linux就可以了,虽然我们RH1288V3和电脑是在同一个网段下面但是对于防火墙的操作还是要在iBMC上的
还以为是这个(当然windows查看mac地址的方式的ipconfig /all)结果不是。。。。

相关推荐
NJCloud9 分钟前
Docker 镜像管理:分层结构、构建优化与最佳实践
java·docker·容器
harmony&12 分钟前
Docker 容器技术从入门到实战:生态系统、安装部署与架构详解
docker·容器·架构
天天喝旺仔32 分钟前
Docker 镜像瘦身实战:多阶段构建把体积缩小 90%
运维·后端·ci/cd·docker·云原生·容器·性能优化
NJCloud1 小时前
Docker 私有仓库部署:Registry、加密传输与认证鉴权
运维·网络·docker·云原生·容器
w200512241 小时前
K8S控制器管理
linux·云原生·容器·kubernetes
玖石书1 小时前
Ubuntu 更换 USTC 镜像源完整指南(AMD64 / AARCH64)
linux·运维·ubuntu
zbyyd1 小时前
Linux 进程间通信(IPC):信号、消息队列、共享内存与信号量详解
linux·运维·c语言
智脑API2 小时前
CCSwitch Claude Code 如何配置 MCP?服务器启动、工具权限与安全测试
运维·服务器·claude·codex·ccswitch
深念Y2 小时前
Nuxt 项目 Docker 构建:从 pnpm+node 迁移到全 bun
java·前端·docker
闲云野鹤在人间2 小时前
KVM虚拟化实战|CentOS‑Stream8 两种安装方式+模板制作+基础使用
linux·运维·服务器·centos