linux
linux中dockers容器技术介绍?
一、linux中dockers容器技术介绍?
linux中dockers容器技术其实就是管理熊雄起的引擎,是应用打包部署平台,可以为数据软件的应用提供基础。
什么是docker?
Docker就好比传统的货运集装箱
Docker是管理容器的引擎
Docker为应用打包 部署平台,而非单纯的虚拟化技术
SaaS(app,云盘,微店,网站) PaaS(redis,nysql,nginx)是基于Docker的云平台
VM VS Container
关于虚拟机
virsh 命令管理
virt_manager 图形化管理
libvirtd 一个管理接口
qemu-kvm(cpu/mem) 完全虚拟化
如果停掉libvirtd
systemctl stop libvirtd
1
1
管理化命令不能工作,但是虚拟机依然存在,依然工作
容器
容器和物理机共享内核和一些重要的文件系统
比虚拟机更小,更轻
传统虚拟机和容器技术对比
容器是如何工作的
创建一个容器
yum install wget -y
cd /etc/yum.repos.d/
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
1
2
3
1
2
3
要解决依赖性
在阿里云平台下载
然后下载的包和rhel7.6 yum源里的包一起解决依赖性
yum install docker-ce container-selinux-2.77-1.el7.noarch.rpm -y
systemctl start docker
1
2
1
2
注意:docker启动前关闭防火墙和关闭selinux
docker info 查看容器信息
1
1
发现有两个警告
解决:
sysctl -a | grep bridge-nf-call-iptables
vim /etc/sysctl.d/bridge.conf
1
2
1
2
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
sysctl --system 生效
1
2
3
1
2
3
所有的容器数据都在/var/lib/docker里面
如果想要用普通用户做docker需要给这个文件给权限
yum install bash-* -y 为了table 补齐命令
1
1
用容器部署一个nginx服务
一般拉取太慢,设置一个加速器
cd /etc/docker/
vim daemon.json
systemctl daemon-reload
systemctl restart docker
1
2
3
4
1
2
3
4
docker search nginx 寻找镜像
docker pull nginx 拉取镜像(一般以服务名的是官方提供的)
docker run -d --name nginx nginx 部署容器
docker ps
1
2
3
4
1
2
3
4
docker inspect nginx 查看nginx容器信息
1
1
用ip addr show 命令查看桥接到docker0
yum install bridge-utils 桥接命令
brctl show
1
2
1
2
nginx部署成功
此时,nginx只能内部访问
如果需要外部访问,则删掉原nginx容器,用端口映射部署nginx
-d : 打入后台
-p 80:80 : 80映射80端口
docker run -d --name nginx -p 80:80 nginx
1
1
nginx history nginx:latest 查看nginx镜像信息
iptables -t nat -nL
1
2
1
2
访问本机转发到172.17.0.2:80上去
用ps ax 或 top 或 netstat -antlp 查看 docker就是个进程
网页访问虚拟机ip 可以看到nginx服务。
二、linux阻塞指令?
1.阻塞(block)概念:指进程或线程在执行设备操作或管道,或则网络时,不能获取到资源就被挂起,
直到满足可操作的条件后在进行操作,被挂起的进程进入休眠状态,从运行队列移走,直到
等待的条件满足才继续执行。也就是执行到某些函数时必须等待某个事件发生函数才返回。
2.非阻塞(non_block):进程就算没有获取到资源或没有等到事件发生时不挂起,通常会直接放弃或不断查询,
直到可以进行的位置。也就是函数的执行不必等待事件发生,一旦执行肯定返回,用返回值来反应函数执行情况。
3.例如:read读取输入输出设备/dev/tty
4.read设备文件时发生阻塞
三、linux容器是什么?
1 Linux容器是一种操作系统级虚拟化技术。2 它通过在操作系统层面上对进程进行隔离,使得每个容器都拥有独立的运行环境,包括文件系统、进程空间、网络等。这种隔离使得容器之间相互独立,互不干扰。3 Linux容器的出现解决了传统虚拟化技术的一些问题,比如启动速度慢、资源占用高等。它能够更加高效地利用硬件资源,提供更快的启动速度和更轻量级的虚拟化环境。4 此外,Linux容器还具有良好的可移植性和可扩展性,可以在不同的主机上运行,方便进行应用的部署和管理。它也被广泛应用于云计算、持续集成等领域。5 总而言之,Linux容器是一种轻量级、高效的虚拟化技术,能够提供独立的运行环境,方便应用的部署和管理。
四、linux指令查询文件中是否包含单词?
可以使用grep命令来查询文件中是否包含单词。grep命令是Linux系统中用于在文件中搜索指定模式的工具。它可以根据给定的模式在文件中查找匹配的行,并将其输出。在查询文件中是否包含单词时,可以使用grep命令加上特定的参数和选项来实现。具体操作如下:1. 打开终端,进入到要查询的文件所在的目录。2. 输入以下命令: grep "单词" 文件名 其中,将"单词"替换为要查询的单词,文件名替换为要查询的文件名。3. 按下回车键,系统将会在文件中查找包含该单词的行,并将其输出显示在终端上。除了grep命令,Linux系统还提供了其他一些用于查询文件内容的命令,如:- fgrep:用于在文件中查找固定字符串。- egrep:用于在文件中查找符合正则表达式的字符串。- awk:用于处理文本文件的工具,可以根据指定的模式进行匹配和处理。- sed:用于对文本文件进行流编辑操作,可以进行查找、替换等操作。通过学习和掌握这些命令,可以更加灵活地查询和处理文件中的内容。
五、在linux中如何终止指令的运行?
1、首先打开linux终端,运行一段Python程序:
2、然后在程序运行中,需要终止程序运行时,按下快捷键crtl+c就可以终止指令程序,此时运行的这段python程序就被终止了。所有的指令都可以用这个快捷键终止运行:
3、最后再次运行一下刚才的程序,这里直接使用Ctrl+ Z快捷键终止运行程序是可以达到同样的效果的:
六、Linux撤销上一个指令操作的指令是什么?
没有.
如果有这个指令一定告诉我,虽然我自己可以肯定没有的.
----
实际上来说,linux上的任何指令大多数都存在其逆指令.但是由计算机自动帮助进行逆操作还不太靠谱.因为命令五花八门,不好区分.
可以分为三类:
1,一次性指令,不存在逆操作.比如,ls,没有逆操作.
2,可逆操作,例如pushd,popd;mv a b,mv b/a .;
3,不可逆操作,例如rm.
因此可以写个脚本来完成这个功能.
读取history最后一项.
如果为一次性指令,则重复.
如果为可逆操作,则执行逆操作.
如果不可逆操作,提醒.
结束.
至于这个脚本的实现,等待谁有这个需求的时候吧.
----
七、linux是什么指令?
Linux是一种操作系统,它的指令是用来控制和管理操作系统的命令。它包含了大量的指令,可以用来进行文件和目录操作、进程管理、系统配置等。Linux的指令具有广泛的功能和强大的灵活性,可以满足用户在系统管理和开发方面的需求。常见的Linux指令包括ls、cd、mkdir、rm、cp、mv、grep、chmod等。
八、linux查看ip指令?
dig 命令:它是一个用于查询 DNS 名称服务器的灵活命令行工具。
host 命令:它是用于执行 DNS 查询的简单程序。
nslookup 命令:它用于查询互联网域名服务器。
fping 命令:它用于向网络主机发送 ICMP ECHO_REQUEST 数据包。
ping 命令:它用于向网络主机发送 ICMP ECHO_REQUEST 数据包。
九、如何评价 Linux 的关机重启指令?
Linux系统关机重启命令一本通
- 特别提醒:
Linux系统的关机和重启类命令一定不要在正式的生产环境学习尝试,尤其是shutdown -h命令,因为其它的很多命令使用-h(等同于--help)查看命令帮助信息;使用习惯的话很容易直接执行立即关机的命令了。
切记!切记!
不然就造成大的操作事故了。
shutdown命令
参数概述
- -r:#请求在系统关闭后重新启动系统(重启)
- -h(等于--halt)或-H:#请求关闭系统但是不重新启动系统(关机)
- -t 10:#设定10秒之后关机或重启
- -P(等于--poweroff):#关闭系统并关闭电源
- -c:#取消定时关机动作
- -k:#发送告警信息并禁止登录,不执行关机或重启动作
- shutdown --version#查看shutdown命令版本
- shutdown --verbose#查看详细输出信息
- shutdown --help#查看shutdown命令帮助信息
- man shutdown#查看shutdown命令手册
- shutdown -f#关机或重启时不经fsck检查
- shutdown -F
#关机或重启是强制进行fsck检查
命令演示
- shutdown -r
#重启系统
备注:
- CentOS 7及以后的版本可以执行此命令。
- CentOS 6及之前的版本必须跟时间或now参数。
- shutdown -r now等同于shutdown -r 0#系统立即重启
- shutdown -r 10等同于shutdown -r +10#系统将在此命令执行后10分钟开始执行动作
- shutdown -r 22:00#系统将在今天的22:00开始进行重启
- shutdown -r -t 30#30秒后重启系统
- shutdown -h
#执行系统关机操作,默认是1分钟后执行关机指令。
备注:
- CentOS 7及以后的版本可以直接执行。
- CentOS 6及之前的版本需要携带时间参数。
- shutdown -h 10等同于shutdown -h +10
#系统将在10分钟后关机
备注:
- CentOS 6及之前的版本,此命令执行后,按Ctrl+C停止执行此命令。
- CentOS 7及之后的版本,此命令执行后,直接返回命令行窗口了,所以如果要停止执行此定时挂机动作,需要执行shutdown -c。
- shutdown -h 23:00等同于shutdown -h +23:00#系统将在今天的23点执行关机动作。
- shutdown -h -t 30#30秒后关闭系统并关闭电源(关机)
- shutdown -f -r -t 60#30秒后进行系统重启(不进行fsck检查)
- shutdown -F -r -t 60#30秒后进行系统重启(强制进行fsck检查)
- shutdown -c#取消定时关机或定时重启指令的执行
- shutdown -k now "2023.2.15,18:00,The server will be restarted"#发送指定的通知信息给其它用户,执行之后按回车键就回到正常命令行窗口了
在其它用户登录界面就会有提醒,如下图所示。Broadcast message from root@CentOS6.X备注:提醒是从哪台服务的哪个用户广播发送的消息
- shutdown -k 10或shutdown -k +10#提醒其它用户系统在10分钟后重启
- shutdown -k 22:00等同于shutdown -k +22:00
#提醒其它用户系统将在今天的指定的时间进行重启
reboot命令
- reboot --help#reboot命令帮助信息
- reboot/reboot --reboot#重启系统,以上2个命令执行效果一样。
- reboot -p/reboot -p --poweroff/reboot –poweroff#关闭系统并关闭电源,以上3个命令执行效果一样。
- reboot --halt#关闭操作系统但是不关闭电源,物理服务器需要到现场硬重启,虚拟化环境需要关闭电源再开启电源,所以这个命令慎用。
- reboot -f或—force#强制立即执行关机/重启的动作,配合关机/重启参数。
- reboot -w或--wtmp-only#不执行关机/重启动作,只是将关机或重启的动作信息发送到/var/log/wtmp日志文件中进行记录。
- reboot -d(--no-wtmp:不进行日志记录,--no-wall不通知其它用户)
#执行停用/关机/重启的操作不记录日志到/var/log/wtmp日志文件。
init命令
- 说到init命令就必须了解Linux系统的7个运行级别,在linux系统中运行级别0代表系统处于关机状态,运行级别6代表系统正常关闭并重启,所以Linux系统签完不能设置成这2个运行级别,不然系统就废了,需要重新安装。
- CentOS 6及之前的版本,系统的运行级别是/etc/inittab文件进行控制管理的。
- CentOS 7开始已经不使用这个文件了,但是在CentOS 7及以后的版本中还有这个文件,但是查看这个文件已经明确说明,init不在使用,编辑修改这个文件不会对系统产生任何影响;如下图所示(红框就是说明inittab不在使用,添加配置这个文件不会对系统产生任何影响)。
- 但是CentOS 6和CentOS 7都能使用“init 0”进行关机,使用“init 6”进行重启。
halt命令
切记!切记不要在正式的生产环境进行学习验证操作。
- halt --help#查看halt命令帮助信息。
- halt/halt -h/--halt#关闭系统但是不关闭电源,如果是虚拟化环境,还需要再关闭电源,不然根本操作不了了;以上3个命令执行效果一样。
- halt -p#关闭系统并关闭电源,等同于halt -p –poweroff。
- halt -p --poweroff#关闭系统并关闭电源。
- halt -p --reboot#重启系统。
- halt -f或--force#强制立即停止/关机/重启,执行过程非常快,比正常的要快1倍左右
- halt -f --reboot#强制立即重启系统
- halt -f --poweroff#强制立即关闭系统并关闭电源
- halt -w或--wtmp-only#不进行停止/关机/重启的操作,只记录这样一个动作到/var/log/wtmp日志文件中
- halt -d/halt --no-wtmp/halt -d --no-wtmp#以上3个命令执行效果是一样的,配合关闭系统不关闭电源、关闭系统并关闭电源、重启系统命令使用,但是不会记录日志到/var/log/wtmp日志文件。
- halt -d --no-wall/halt --no-wall#以上2个命令执行效果是一样的,配合关闭系统不关闭电源、关闭系统并关闭电源、重启系统命令使用,但是不会给此系统其它用户广播通知消息。
- halt -n或--no-sync
#执行停止/关机/重启操作时不进行sync数据同步操作。
sync命令
- Linux系统中sync命令用于数据同步,sync命令是在关闭或重启Linux系统时使用的。
- Linux系统中有需要写入硬盘的数据文件资料,有时为了提高系统数据写入的速度,会先写到 filesystem buffer中,这个 buffer 是一块记忆体空间,如果欲写入硬盘的资料存于此 buffer 中,而系统又突然断电的话,那么资料就会流失了,sync命令会将存于 buffer 中的资料强制写入硬盘中。
- 在Linux系统执行重启或关机操作时,建议执行下此命令
十、linux查看gpu指令
Linux查看GPU指令
在Linux系统中,要查看GPU的状态和信息,可以使用一些特定的指令。下面是一些常用的指令及其用法:
nvidia-smi命令
nvidia-smi是NVIDIA系统管理界面(System Management Interface)的命令行工具,它可以提供GPU的状态信息,包括GPU的利用率、温度、显存使用情况等。使用方法如下:
nvidia-smi
执行该命令后,系统会输出GPU的相关信息,包括GPU型号、显存使用情况、CUDA版本、驱动版本等信息。注意,要使用该命令,需要先安装NVIDIA的驱动和CUDA工具包。
lspci命令
lspci是Linux系统中用于查看PCI设备信息的命令行工具,包括GPU的信息也会在其中显示。使用方法如下:
lspci -v
执行该命令后,系统会列出系统中所有的PCI设备信息,包括PCI插槽的类型、设备ID、驱动程序等信息,其中也包括了GPU的信息。
其他命令
除了上述两个命令外,还可以使用其他一些指令来查看GPU的状态和信息,如htop、glxinfo等。这些指令的使用方法可以参考相应的文档或者在网上搜索相关教程。
总之,通过这些指令的使用,我们可以获取到GPU的状态和信息,了解其运行情况,并进行相应的管理和优化。
以上内容仅供参考,如需更详细的信息可以请教专业人士。
热点信息
-
在Python中,要查看函数的用法,可以使用以下方法: 1. 使用内置函数help():在Python交互式环境中,可以直接输入help(函数名)来获取函数的帮助文档。例如,...
-
一、java 连接数据库 在当今信息时代,Java 是一种广泛应用的编程语言,尤其在与数据库进行交互的过程中发挥着重要作用。无论是在企业级应用开发还是...
-
一、idea连接mysql数据库 php connect_error) { die("连接失败: " . $conn->connect_error);}echo "成功连接到MySQL数据库!";// 关闭连接$conn->close();?> 二、idea连接mysql数据库连...
-
要在Python中安装modbus-tk库,您可以按照以下步骤进行操作: 1. 确保您已经安装了Python解释器。您可以从Python官方网站(https://www.python.org)下载和安装最新版本...