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文件

相关推荐
冷雨夜中漫步5 小时前
Python快速入门(6)——for/if/while语句
开发语言·经验分享·笔记·python
JH30736 小时前
SpringBoot 优雅处理金额格式化:拦截器+自定义注解方案
java·spring boot·spring
m0_736919107 小时前
C++代码风格检查工具
开发语言·c++·算法
Coder_Boy_7 小时前
技术让开发更轻松的底层矛盾
java·大数据·数据库·人工智能·深度学习
2501_944934737 小时前
高职大数据技术专业,CDA和Python认证优先考哪个?
大数据·开发语言·python
invicinble7 小时前
对tomcat的提供的功能与底层拓扑结构与实现机制的理解
java·tomcat
较真的菜鸟8 小时前
使用ASM和agent监控属性变化
java
黎雁·泠崖8 小时前
【魔法森林冒险】5/14 Allen类(三):任务进度与状态管理
java·开发语言
2301_763472469 小时前
C++20概念(Concepts)入门指南
开发语言·c++·算法
TechWJ9 小时前
PyPTO编程范式深度解读:让NPU开发像写Python一样简单
开发语言·python·cann·pypto