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
相关推荐
极客互动API1 小时前
企业微信 iPad 协议服务搭建与 AI 回调实战
网络·汇编·人工智能·微信·企业微信·ipad
DYWorker0011 小时前
搭建嵌入式Linux虚拟机开发环境
linux
QH139292318801 小时前
Keysight N5183B N5183B 微波模拟信号发生器
网络·单片机·嵌入式硬件·集成测试·信息与通信
weipt1 小时前
从ollama到llama.cpp
linux·服务器·llama
LabVIEW开发1 小时前
基于原始套接字实现LabVIEW网络Ping检测的编程方法
网络·labview·labview知识·labview功能·labview程序
加油码2 小时前
动静态库的链接底层原理(进阶版)
linux·c++
东莞和裕包装2 小时前
如何管控广州定制纸箱生产中的啤切精度与印刷色差质量问题
大数据·运维·网络·人工智能
二宝哥2 小时前
docker安装apisix
docker·容器·apisix
H_oRIZoN_3 小时前
Linux入门DAY23(C语言树形结构)
linux·c语言·数据结构
kdxiaojie3 小时前
Linux USB驱动阅读笔记(1)
linux·笔记·学习·usb