docker基础使用创建固定硬盘大小为40G的虚拟机

在docker中创建的服务器,匹配出容器id,服务器ip,服务器核数,服务器内存,服务器硬盘空间

for i in (docker ps \| grep -aiE web \| awk '{print 1}');do echo i; docker inspect i|grep -aiE ipaddr|tail -1|grep -aiwoE "(0-9{1,3}\.){3}0-9{1,3}" ;done|sed 'N;s/\n/ /g'|awk '{print NR,$0" 2C 4G 100G"}'|sed 's/ /,/g'

复制代码
for i in $(docker ps | grep -aiE web | awk '{print $1}');do echo $i; docker inspect $i|grep -aiE ipaddr|tail -1|grep -aiwoE "([0-9]{1,3}\.){3}[0-9]{1,3}" ;done|sed 'N;s/\n/ /g'|awk '{print NR,$0" 2C 4G 100G"}'|sed 's/ /,/g'

执行结果为: 1,c784291e46c7,172.17.0.2,2C,4G,100G

创建2核,4G内存的服务器

复制代码
docker run -itd --cpuset-cpus=0-1 -m 4096M --privileged rockylinux-ssh:latest

执行结果如下

查看系统核数命令:top 回车后摁数字1显示如下结果,该机器为4核

以下命令也可查看CPU核数cat /proc/cpuinfo | more显示的processor即为第几个cpu,0表示第一个cpu,因此通过统计processor数也可显示cpu核数

以下命令统计processor个数,即为cpu核数cat /proc/cpuinfo | grep -aiE "processor"

lscpu也可查看cpu核数

查看docker刚才创建的服务器ip,docker inspect 容器id | grep -aiE addr

登录docker刚才创建的服务器cpu核数

也可查看内存大小

登录创建的虚拟机ssh -l root ip密码为:1

可通过docker stats 容器id查看服务器剩余cpu/内容情况

以下命令可以不滚动查看docker stats 容器id --no--stream

升级docker设置的服务器cpu核数和内存大小docker update --cpuset-cpus=0-1 -m 4096M 容器id,但是如果设置的参数超出宿主机,就会出现报错

进入创建的服务器里面命令docker exec -it 085c3f4d9287 /bin/bash

这里可以看到docker创建的虚拟机内存其实是宿主机的内存空间,如果想要使创建的虚拟机内存大小固定为某个值,则需要在启动虚拟机时加上参数 --storage-opt overlay2.size=40G,删除之前创建的docker虚拟机,停掉docker进程

复制代码
docker ps -aq |xargs docker rm -f
pkill dockerd

重新启动docker进程,并且在启动docker进程时固定创建虚拟机的大小/usr/local/docker/dockerd --storage-opt overlay2.size=40G

复制代码
/usr/locker/docker/dockerd --storage-opt overlay2.size=40G

以上执行后显示内容表示执行报错,原因为overlay2参数支持的文件格式为XFS,而我们的宿主机系统文件系统格式为ext4

查看文件系统格式,类型为ext4还是xfs

重新添加新硬盘,fdisk -l显示添加的磁盘,新添加100G的硬盘

可用以下两个命令对其进行格式化分区

挂载分区加参数uquota,prjquota目录配额

根据用户(uquota/usrquota/quota)

根据组(gquota/grpquota);

根据目录(pquota/prjquota)(不能与grpquota同时设定)。

这时看我们的磁盘类型sdb即为xfs格式

在data下创建docker目录

重新执行启动docker命令,并且指定启动后创建的服务器硬盘空间固定大小为40G,并且指定docker的数据目录为/data/docker,指定命令--data-root=/data/docker/

复制代码
/usr/local/docker/dockerd --storage-opt overlay2.size=40G --data-root=/data/docker/

加nohup和&符号将放在后台启动

启动后,上传rockylinux镜像文件docker load < rockylinux-ssh.tar

此时查看docker容器中,即含有rockylinux镜像

容器创建完成后即可创建服务器docker run -itd --name=vm01 --privileged rockylinux-ssh:latest

进入刚刚创建的虚拟机中docke exec -it 虚拟机名称/虚机id /bin/bash

docker exec -it vm01 /bin/bash

此时查看云主机的磁盘空间大小即为设置的40G

创建用户xinLinux,并且指定用户xinLinux写入文件大小为10M

查看设置的权限xfs_quota -x -c 'report' /data/

给data目录增加权限

切换到xinLinux用户

验证设置的权限,进入/data目录,写入20M文件报错,只能写入10m文件

相关推荐
量化分析码农30 分钟前
股票历史数据的复权参数对照:多级别返回的字段与数值差异
java·javascript·后端
猫猫不是喵喵.40 分钟前
从0到1创建一个微服务项目
java·数据库·微服务·1024程序员节
熊猫钓鱼>_>1 小时前
普通用户视角的端侧智能体验手记【鸿蒙心迹】
开发语言·人工智能·华为·智能手机·性能优化·ai编程·harmonyos
瑞雪兆丰年兮1 小时前
JavaWeb-day13-SpringBootWeb事务管理&AOP
java·开发语言·springboot·javaweb·事务·web·aop
曲径海盗1 小时前
Try-Except怎么用,3个追问解答在自动化下的应用
java·jvm·oracle
Cosolar2 小时前
极简智库:快速搭建你的开源项目教程阅读平台,让 docs/ 目录被更多人看见
java·架构·github
nice_lcj5202 小时前
【从零理解 Spring AI · 16】Agent 与工作流:什么该写死,什么该让模型决定
java·人工智能·后端·spring ai·ai应用开发
布莱克6053 小时前
Swift 常量详解:从 let 到编译期优化
服务器·开发语言·ssh·swift·常量·let
北京云帆互联科技3 小时前
云帆培训考试系统更新说明:v9.3.0
java·学习
布莱克6053 小时前
Swift 可选类型(Optionals)详解:从原理到实战
开发语言·安全·ssh·swift·optional·可选类型