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

相关推荐
Theodore_10223 小时前
4 设计模式原则之接口隔离原则
java·开发语言·设计模式·java-ee·接口隔离原则·javaee
冰帝海岸4 小时前
01-spring security认证笔记
java·笔记·spring
世间万物皆对象4 小时前
Spring Boot核心概念:日志管理
java·spring boot·单元测试
没书读了5 小时前
ssm框架-spring-spring声明式事务
java·数据库·spring
----云烟----5 小时前
QT中QString类的各种使用
开发语言·qt
lsx2024065 小时前
SQL SELECT 语句:基础与进阶应用
开发语言
小二·5 小时前
java基础面试题笔记(基础篇)
java·笔记·python
开心工作室_kaic5 小时前
ssm161基于web的资源共享平台的共享与开发+jsp(论文+源码)_kaic
java·开发语言·前端
向宇it5 小时前
【unity小技巧】unity 什么是反射?反射的作用?反射的使用场景?反射的缺点?常用的反射操作?反射常见示例
开发语言·游戏·unity·c#·游戏引擎
懒洋洋大魔王5 小时前
RocketMQ的使⽤
java·rocketmq·java-rocketmq