Linux系统管理(十九)——欧拉系统硬盘挂载、网络配置以及Docker环境安装

挂载硬盘

如果数据盘在安装操作系统的时候没有挂载,需要自己做一下硬盘的挂载

查看需要挂载硬盘的路径

bash 复制代码
fdisk -l

这里的可挂载的硬盘路径为:/dev/sdb

MBR分区方式转换成GPT

MBR分区能挂载的硬盘空间有限,无法挂载全部硬盘空间,所以需要转换

bash 复制代码
parted /dev/sdb

需在上图所示区域手动填入mklabel、gpt敲回车完成分区方式的转换。

创建新分区

bash 复制代码
fdisk /dev/sdb

格式化新分区

注意此时格式化的分区路径为:/dev/sdb1,而不再是:/dev/sdb

bash 复制代码
mkfs -t ext4 /dev/sdb1

挂载新分区

注意此时格式化的分区路径为:/dev/sdb1,而不再是:/dev/sdb

bash 复制代码
mkdir /data
mount /dev/sdb1 /data

检查分区是否挂载成功

bash 复制代码
df -h /data

永久挂载

修改系统挂载硬盘的文件,其中0 0 表示在在开机时不对分区进行检查

bash 复制代码
vi /etc/fstab

在文件中添加以下配置保存退出即可:

bash 复制代码
/dev/sdb1               /data                   ext4     defaults        0 0

关闭防火墙

关闭防火墙是为了避免启动的mindie-server服务不能被外部访问的问题,也可以在配置好后启动防火墙,然后将mindie-server的端口开放给外部访问。

关闭firewalld

bash 复制代码
systemctl stop firewalld
systemctl disable firewalld

关闭SElinux

bash 复制代码
sed -i 's/=enforcing/=disabled/' /etc/selinux/config
setenforce 0

openEuler 配置网卡

查看网卡信息

首先进入目录:/etc/sysconfig/network-scripts

bash 复制代码
cd  /etc/sysconfig/network-scripts

这个里面有网卡的配置文件,可以用ls命令查看所有的配置文件

依次打开相关的配置文件,找到里面有内容的文件(空的也可以,只不过所有的设置都要自己敲进去,笔者比较懒,所以找了一个有内容的,再添加自己的设置)。

编辑网卡信息

笔者这里就随便打开一个了

bash 复制代码
vi ifcfg-enp125s0f1

里面的内容为

bash 复制代码
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FAFAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
DNS1=你的DNS1
DNS2=你的DNS2(如果没有可不填)
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ifcfg-enp125s0f1
UUID=acb9e137-9f17-489d-a8c4-851d1c1ffe2
DEVICE=ifcfg-enp125s0f1
ONBOOT=yes # 如果是no改为yes
IPADDR=改为你的ip地址
NETMASK=改为你的mask,如:255.255.255.0
PREFIX=同上,如:24
GATEWAY=改为你的网关,一般是把最后一位改为1
IPV6_PRIVACY=no

保存并退出后,重启网络服务后生效

bash 复制代码
systemctl restart NetworkManager

如果使用ip addr发现新配置的ip地址不生效,重启服务器。


Docker

删除现有Docker

python 复制代码
sudo dnf remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

添加源

bash 复制代码
dnf config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

编辑repo文件

编辑/etc/yum.repos.d/docker-ce.repo文件,将里面的$Release修改为对应的Centos版本号,可以去网上查找欧拉对应的centos镜像源版本。笔者的欧拉系统版本为openEuler-22.03-LTS,亲测版本号改为7有效

可以通过以下方式打开文件并修改

bash 复制代码
vi /etc/yum.repos.d/docker-ce.repo

也可以批量查询替换

bash 复制代码
:1,$s/\$releasever/7/g

安装稳定版

bash 复制代码
dnf install -y docker-ce

如果这一步报错,可以用以下命令下载非稳定版本

bash 复制代码
dnf install -y docker

启动docker并设置为开机自启

bash 复制代码
systemctl start docker
systemctl enable docker

修改Docker镜像默认存储位置

查看当前docker的默认存储目录

bash 复制代码
docker info

可以看到docker存储驱动程序和默认存位

bash 复制代码
Storage Driver: overlay
Docker Root Dir: /var/lib/docker

停止docker服务

bash 复制代码
systemctl stop docker.service

创建新的docker目录

bash 复制代码
mkdir -p //home/data/docker-images

迁移目录,迁移/var/lib/docker目录下面的文件到 /home/data/docker-images

bash 复制代码
cp -r /var/lib/docker/* /home/data/docker-images/

修改配置文件

编辑 /etc/docker/daemon.json 文件

bash 复制代码
vi /etc/docker/daemon.json

默认情况下这个配置文件是没有的,这里实际也就是新建一个,然后写入以下内容:

bash 复制代码
{
  "data-root": "/home/data/docker-images"
}

取决于具体的ubuntu版本或者kernel版本决定要用data-root还是graph

/mnt/docker --> docker的存储路径

此文件还涉及默认源的设定,如果设定了国内源,那么实际就是在源地址下方加一行,写成:

bash 复制代码
{
  "registry-mirrors": ["http://hub-mirror.c.163.com"],
  "data-root": "/home/data/docker-images"
}

编辑docker配置文件:

bash 复制代码
vi /etc/systemd/system/multi-user.target.wants/docker.service

找到下面内容

bash 复制代码
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

修改为以下内容

bash 复制代码
ExecStart=/usr/bin/dockerd --graph=/home/data/docker-images --storage-driver=overlay

保存退出后重启 docker 服务

重启docker服务,就可以更新docker默认的镜像容器保存位置,特别注意,如果新的保存位置里拷贝了原来容器保存位置里的所有内容,那么镜像数据等也就迁移过来了。

bash 复制代码
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl status docker

检查docker存储路径是否配置成功:

bash 复制代码
docker info

确认之前的镜像还在:

bash 复制代码
docker ps -a
docker images

确定容器、镜像没问题后删除/var/lib/docker/目录中的文件。

bash 复制代码
rm -rf /var/lib/docker/*

docker主要是做了文件系统的隔离,所以每个镜像和容器实际上都是依赖块隔离的硬盘空间(在里面部署一个隔离的文件系统),所以可以通过直接拷贝的方式进行迁移,而不需要担心有什么依赖关系无法通过拷贝带过去。

Docker的基本用法

为了方便读者使用,下面给出一些常见的Docker命令

查看docker版本信息

python 复制代码
docker -v

查看已安装镜像列表

bash 复制代码
docker image ls

或者

bash 复制代码
docker images

导出镜像到指定路径

bash 复制代码
docker save 镜像的名称 -o /镜像路径/镜像名称.tar

加载保存在指定位置的Docker镜像

bash 复制代码
docker load -i /镜像路径/镜像名称.tar

查看运行的容器

bash 复制代码
docker ps

查看所有容器,包括已停止的容器

bash 复制代码
docker ps -a

停止当前容器

在当前容器的控制台输入

bash 复制代码
exit 0

停止指定容器

bash 复制代码
docker stop 容器id

删除指定容器

bash 复制代码
docker rm 容器id
相关推荐
学不完的2 分钟前
ospf综合实验
网络·智能路由器
-曾牛27 分钟前
Git完全指南:从入门到精通版本控制 ------- Git仓库创建 (5)
大数据·网络·git·学习·elasticsearch·个人开发
pingzhuyan28 分钟前
03(总)-docker篇 Dockerfile镜像制作(jdk,jar)与jar包制作成docker容器方式
java·docker·jar
vvilkim31 分钟前
深入解析TCP Keep-Alive机制:原理、作用与最佳实践
网络·网络协议·tcp/ip
清风~徐~来1 小时前
【Linux】环境变量
linux·运维·chrome
维C泡泡1 小时前
网络编程 套接字
网络
Bl_a_ck2 小时前
【C++】Docker介绍
运维·docker·容器·eureka
耕耘虫2 小时前
解决 .Net 6.0 项目发布到IIS报错:HTTP Error 500.30
网络·网络协议·http·iis·net·静态文件·.net 6.0
鸡鸭扣3 小时前
系统设计面试总结:高性能相关:CDN(内容分发网络)、什么是静态资源、负载均衡(Nginx)、canal、主从复制
网络·面试·负载均衡
christine-rr3 小时前
【25软考网工笔记】第二章 数据通信基础(2) 信道延迟计算
网络·笔记·网络工程师·软考