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

相关推荐
Dolphin_Home12 分钟前
Docker搭建Skywalking
docker·容器·skywalking
代码背包客30 分钟前
制作一个纯净版的系统镜像(Linux,Window都可以)
linux·运维·服务器·windows
码上飞扬1 小时前
深入探讨服务器虚拟化:架构、技术与应用
服务器·docker·k8s·虚拟化·kvm·xen
卸任1 小时前
国产 Dev/Ops 工具 Jpom 的前端项目自动化部署实践
运维·前端
PengShuaiD51 小时前
【网页自动化】篡改猴入门教程
运维·自动化
matrixlzp1 小时前
Linux 系统中 .d 目录有什么用?
linux·运维·服务器
ICT技术最前线2 小时前
六种主流服务器的选择与使用
运维·服务器·网络
神一样的老师2 小时前
【行空板K10】MQTT服务器SIoT V2
运维·服务器
沐雨风栉2 小时前
如何利用群晖NAS实现远程访问你的网页版Linux虚拟桌面环境
linux·运维·服务器
代码星辰2 小时前
Nginx——静态资源部署(二/五)
运维·nginx·静态资源