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)结果不是。。。。

相关推荐
一个天蝎座 白勺 程序猿1 小时前
KingbaseES数据库归档重做日志文件管理:从配置到运维的实战指南
运维·数据库·oracle·kingbasees·金仓数据库
分布式存储与RustFS5 小时前
镜像仓库的层别堆本地盘:用 RustFS 给 Docker Registry 当 S3 后端
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
陈希1236 小时前
Linux 防火墙配置实战:firewalld、iptables 与云安全组
linux·运维·服务器
@兽血沸腾7 小时前
Windows系统安装Jenkins部署应用至远程Windows服务器操作指南
运维·服务器·jenkins
闲云自留地12 小时前
K8s 的记忆大脑!ETCD 集群部署、etcdctl 命令与备份恢复全通关
容器·kubernetes·etcd
讯捷蓝达12 小时前
戴尔R720xd服务器卡死在 “Configuring Memory...Done“,换了内存还是卡?问题根本不在内存
运维·服务器
爱和冰阔落15 小时前
【Linux网络】TCP 服务器如何并发处理多个客户端?从 fork、僵尸进程到双重 fork
linux·运维·服务器·网络
lisanmengmeng15 小时前
alertmanger 标签 rules 打上分组标签
linux·运维·服务器
Android系统攻城狮16 小时前
Linux FFmpeg深度解析之av_write_frame调用流程与实战(三十三)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
上火的金鱼妹16 小时前
k8s生产实际问题排查(网关,数据库读写等)
运维·服务器