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

相关推荐
卡尔特斯4 小时前
Android Kotlin 项目代理配置【详细步骤(可选)】
android·java·kotlin
白鲸开源4 小时前
Ubuntu 22 下 DolphinScheduler 3.x 伪集群部署实录
java·ubuntu·开源
ytadpole4 小时前
Java 25 新特性 更简洁、更高效、更现代
java·后端
纪莫5 小时前
A公司一面:类加载的过程是怎么样的? 双亲委派的优点和缺点? 产生fullGC的情况有哪些? spring的动态代理有哪些?区别是什么? 如何排查CPU使用率过高?
java·java面试⑧股
JavaGuide5 小时前
JDK 25(长期支持版) 发布,新特性解读!
java·后端
用户3721574261355 小时前
Java 轻松批量替换 Word 文档文字内容
java
白鲸开源5 小时前
教你数分钟内创建并运行一个 DolphinScheduler Workflow!
java
Java中文社群6 小时前
有点意思!Java8后最有用新特性排行榜!
java·后端·面试
代码匠心6 小时前
从零开始学Flink:数据源
java·大数据·后端·flink
间彧6 小时前
Spring Boot项目中如何自定义线程池
java