docker 存储 网络 命令

文章目录

  • 1 docker存储
    • 1.1 目录挂载
    • 2.1卷映射
      • 2.1.1卷映射和目录挂载的区别
      • 2.1.2卷映射的使用
  • 2 docker网络
    • 2.1查看docker的默认网络
    • 2.2查看容器的IP
    • 2.3容器互通
    • 2.4自定义网络
      • 2.4.1 创建自定义网络
      • 2.4.2创建容器的时候加入到自定义的网络
      • 2.4.3使用域名进行容器之间的访问
      • 2.4.4redis主从同步集群
        • 2.4.4.1启动redis主节点容器
        • 2.4.4.2启动redis从节点容器

1 docker存储

1.1 目录挂载

目录挂载的作用就好像是U盘,盘符里面的内容和电脑里面展示的是一样的。如果容器挂了,那么重启开启容器并且指定原来的盘符映射到容器就可以了。

  • -d:后台运行
  • -p:主机port:容器port。这样外部就可以访问档容器了
  • –name:指定容器的名字
  • -v:主机目录:容器目录。这样就会把容器里面的数据保存到主机了,即使容器崩了,也木事。
[root@root ~]# docker run -d -p 80:80 --name mynginx -v /app/nghtml:/usr/share/nginx/html nginx 
Unable to find image 'nginx:latest' locally
latest: Pulling from library/nginx
09f376ebb190: Already exists 
5529e0792248: Already exists 
9b3addd3eb3d: Already exists 
57910a8c4316: Already exists 
7b5f78f21449: Already exists 
b7923aa4e8a6: Already exists 
785625911f12: Already exists 
Digest: sha256:0f04e4f646a3f14bf31d8bc8d885b6c951fdcf42589d06845f64d18aec6a3c4d
Status: Downloaded newer image for nginx:latest
7236550f01944f5bcf235404fc455a46e986cbc879a764d054a08b5d0d92d0a2
[root@root ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                   CREATED              STATUS              PORTS                               NAMES
7236550f0194   nginx     "/docker-entrypoint.…"   About a minute ago   Up About a minute   0.0.0.0:80->80/tcp, :::80->80/tcp   mynginx
[root@root ~]# 

2.1卷映射

2.1.1卷映射和目录挂载的区别

若将nginx配置文件进行目录挂载,那么会启动报错nginx: [emerg] open() "/etc/nginx/nginx.conf" failed (2: No such file or directory)。因为目录挂载容易会以主机的目录为主,首先进行加载。
如果在容器启动就进行加载的文件,进行卷映射。卷映射会在容器启动的时候将启动的配置文件同步到主机的卷中

[root@root ~]# docker run -d -p 88:80 --name app01 -v /app/nghtml:/usr/share/nginx/htm -v /app/nghtml:/etc/nginx nginx 
45d51b3d7733481ad6deb7c5d7321915ba867850021b6e3eeed67bfe5437a654
[root@root ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND                   CREATED          STATUS                      PORTS                               NAMES
45d51b3d7733   nginx     "/docker-entrypoint.…"   12 seconds ago   Exited (1) 12 seconds ago                                       app01
7236550f0194   nginx     "/docker-entrypoint.…"   20 minutes ago   Up 20 minutes               0.0.0.0:80->80/tcp, :::80->80/tcp   mynginx
[root@root ~]# docker logs 45d51b3d7733 
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: /etc/nginx/conf.d/default.conf is not a file or does not exist
/docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
2024/06/05 01:44:31 [emerg] 1#1: open() "/etc/nginx/nginx.conf" failed (2: No such file or directory)
nginx: [emerg] open() "/etc/nginx/nginx.conf" failed (2: No such file or directory)
[root@root ~]# 

2.1.2卷映射的使用

删除容器卷不会删除

[root@root ~]# docker run -d -p 89:80 -v /app/nghtml:/usr/share/nginx/html -v ngconfig:/etc/nginx --name app02 nginx
514d71e9fa6b5e96442c04a5ea69401e73102191329647c728bf92d6d5e334c7
[root@root ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                   CREATED          STATUS          PORTS                               NAMES
514d71e9fa6b   nginx     "/docker-entrypoint.…"   4 seconds ago    Up 4 seconds    0.0.0.0:89->80/tcp, :::89->80/tcp   app02
7236550f0194   nginx     "/docker-entrypoint.…"   34 minutes ago   Up 34 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp   mynginx
[root@root ~]# 

查看卷的位置:/var/lib/docker/volumes/ngconfig(卷名)docker默认目录

[root@root ~]# cd /var/lib/docker/volumes/ngconfig(卷名)
[root@root ngconfig]# ls
_data
[root@root ngconfig]# cd _data/
[root@root _data]# ls
conf.d  fastcgi_params  mime.types  modules  nginx.conf  scgi_params  uwsgi_params
[root@root _data]# 

[root@root _data]# docker volume ls 查看所有卷的列表
DRIVER    VOLUME NAME
local     ngconfig
[root@root _data]# 

查看某个卷的详情

[root@root _data]# docker volume inspect ngconfig (卷名)
[
    {
        "CreatedAt": "2024-06-05T09:57:51+08:00",
        "Driver": "local",
        "Labels": null,
        "Mountpoint": "/var/lib/docker/volumes/ngconfig/_data",
        "Name": "ngconfig",
        "Options": null,
        "Scope": "local"
    }
]
[root@root _data]# 

2 docker网络

docker在安装之后就会有一个默认网络(docker0),容器在启动之后就会加入这个默认的安排

2.1查看docker的默认网络

[root@root _data]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:16:3e:06:4d:35 brd ff:ff:ff:ff:ff:ff
    inet 172.28.216.6/20 brd 172.28.223.255 scope global dynamic eth0
       valid_lft 315352185sec preferred_lft 315352185sec
    inet6 fe80::216:3eff:fe06:4d35/64 scope link 
       valid_lft forever preferred_lft forever
3: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:e1:74:a5:bf brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:e1ff:fe74:a5bf/64 scope link 
       valid_lft forever preferred_lft forever
5: veth873139c@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP group default 
    link/ether 9a:cc:07:b8:51:aa brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet6 fe80::98cc:7ff:feb8:51aa/64 scope link 
       valid_lft forever preferred_lft forever
11: veth1b36288@if10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP group default 
    link/ether ea:38:4b:e5:22:b3 brd ff:ff:ff:ff:ff:ff link-netnsid 1
    inet6 fe80::e838:4bff:fee5:22b3/64 scope link 
       valid_lft forever preferred_lft forever
[root@root _data]# 

2.2查看容器的IP

查看容器的IP,使用一下命令,查看 "Networks":中的 "Gateway": "172.17.0.1", "IPAddress": "172.17.0.3",

[root@root _data]# docker inspect app02

  "Networks": {
                "bridge": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "MacAddress": "02:42:ac:11:00:03",
                    "NetworkID": "5c06bf39edc223eda9311e67b5b0d023806ed375e8e24e8672be832f691b908b",
                    "EndpointID": "1ecef5a2c484b5823319b003a248ce88b5b847f16cdf88cd889887eaf1a57679",
                    "Gateway": "172.17.0.1",
                    "IPAddress": "172.17.0.3",

2.3容器互通

docker为每一个容器分配一个ip,使用ip+port可以使容器之间相互访问。

[root@root _data]# docker exec -it mynginx bash
root@7236550f0194:/# curl http://172.17.0.3:80

2.4自定义网络

原因:容器的ip不固定,创建一个新的网络,使用域名的方式进行访问

2.4.1 创建自定义网络

[root@root _data]# docker network create mynet
55cff593988b4e0de23ed26924d1f4e011a53f9d8b27ee4a5b98bc7ea6870958
[root@root _data]# docker network ls
NETWORK ID     NAME      DRIVER    SCOPE
5c06bf39edc2   bridge    bridge    local
1776efe50fa7   host      host      local
55cff593988b   mynet     bridge    local
5297b84dfd13   none      null      local
[root@root _data]# 

2.4.2创建容器的时候加入到自定义的网络

[root@root _data]# docker run -d --name app01 --network mynet -p 81:80 nginx
1c0baf2a2666d839add230effa4530b5e8ef7123be0573e7a6a686276f84a9b0
[root@root _data]# docker run -d --name app02 --network mynet -p 82:80 nginx
056416a0c89f8e9ca771c7c5f301b1d5e0312afa24cc1815d895b232bf724258
[root@root _data]# docker ps
CONTAINER ID   IMAGE     COMMAND                   CREATED          STATUS          PORTS                               NAMES
056416a0c89f   nginx     "/docker-entrypoint.…"   5 seconds ago    Up 5 seconds    0.0.0.0:82->80/tcp, :::82->80/tcp   app02
1c0baf2a2666   nginx     "/docker-entrypoint.…"   19 seconds ago   Up 19 seconds   0.0.0.0:81->80/tcp, :::81->80/tcp   app01
[root@root _data]#

2.4.3使用域名进行容器之间的访问

因为使用ip进行容器之间的访问ip不固定。所以在创建容器的时候,指定加入自定义网络,那么就可以使用固定的域名进行访问了,这个域名就是http://app02(容器名):80

[root@root ~]# docker exec -it app01 bash
root@1c0baf2a2666:/# curl http://app02:80
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>
root@1c0baf2a2666:/# 

2.4.4redis主从同步集群

在这里插入图片描述

在这里插入图片描述

2.4.4.1启动redis主节点容器
[root@root ~]# docker run -d -p 6379:6379 --name redis01 --network mynet  -v /app/rd1:/bitnami/reids/data -e REDIS_REPLICATION_MODE=master -e REDIS_PASSWORD=123456 bitnami/redis
Unable to find image 'bitnami/redis:latest' locally
latest: Pulling from bitnami/redis
44f3255d2f6a: Pull complete 
Digest: sha256:5261cae9e4076b75d114e6bb032a0699c50b004ea06a680a5304c4c08d286adb
Status: Downloaded newer image for bitnami/redis:latest
da79f3d15645162d71a0bd8891c5e55271a20332de052f2371b4f0333413c93f
[root@root ~]# 

2.4.4.2启动redis从节点容器
[root@root ~]# docker run -d -p 6380:6379 --name redis02 --network mynet \
> -v /app/rd2:/bitnami/redis/data \
> -e REDIS_REPLICATION_MODE=slave \
> -e REDIS_MASTER_HOST=redis01 \
> -e REDIS_MASTER_PORT_NUMBER=6379 \
> -e REDIS_MASTER_PASSWORD=123456 \
> -e REDIS_PASSWORD=123456 \
> bitnami/redis
57aec20a231bf85265036efd1374801ef0cbdbf5a28e5c25d2e4d4c92767b18b

小插曲,redis02启动报错。1:S 05 Jun 2024 04:59:18.559 # Can't open or create append-only dir appendonlydir: Permission denied

[root@root ~]# docker logs redis02
redis 04:59:18.42 INFO  ==> 
redis 04:59:18.42 INFO  ==> Welcome to the Bitnami redis container
redis 04:59:18.42 INFO  ==> Subscribe to project updates by watching https://github.com/bitnami/containers
redis 04:59:18.42 INFO  ==> Submit issues and feature requests at https://github.com/bitnami/containers/issues
redis 04:59:18.42 INFO  ==> Upgrade to Tanzu Application Catalog for production environments to access custom-configured and pre-packaged software components. Gain enhanced features, including Software Bill of Materials (SBOM), CVE scan result reports, and VEX documents. To learn more, visit https://bitnami.com/enterprise
redis 04:59:18.42 INFO  ==> 
redis 04:59:18.43 INFO  ==> ** Starting Redis setup **
redis 04:59:18.44 INFO  ==> Initializing Redis
redis 04:59:18.45 INFO  ==> Setting Redis config file
redis 04:59:18.47 INFO  ==> Configuring replication mode

redis 04:59:18.53 INFO  ==> ** Redis setup finished! **
redis 04:59:18.54 INFO  ==> ** Starting Redis **
1:C 05 Jun 2024 04:59:18.558 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
1:C 05 Jun 2024 04:59:18.558 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
1:C 05 Jun 2024 04:59:18.558 * Redis version=7.2.5, bits=64, commit=00000000, modified=0, pid=1, just started
1:C 05 Jun 2024 04:59:18.558 * Configuration loaded
1:S 05 Jun 2024 04:59:18.558 * monotonic clock: POSIX clock_gettime
1:S 05 Jun 2024 04:59:18.559 * Running mode=standalone, port=6379.
1:S 05 Jun 2024 04:59:18.559 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
1:S 05 Jun 2024 04:59:18.559 * Server initialized
1:S 05 Jun 2024 04:59:18.559 # Can't open or create append-only dir appendonlydir: Permission denied

修改文件夹的权限

[root@root app]# ll
总用量 12
drwxr-xr-x 2 root root 4096 6月   5 09:23 nghtml
drwxr-xr-x 2 root root 4096 6月   5 12:51 rd1
drwxr-xr-x 2 root root 4096 6月   5 12:59 rd2
[root@root app]# ^C
[root@root app]# ^C
[root@root app]# chmod 777 rd2
[root@root app]# ll
总用量 12
drwxr-xr-x 2 root root 4096 6月   5 09:23 nghtml
drwxr-xr-x 2 root root 4096 6月   5 12:51 rd1
drwxrwxrwx 2 root root 4096 6月   5 12:59 rd2

重启redis02

[root@root app]# docker restart redis02
redis02
[root@root app]# docker ps
CONTAINER ID   IMAGE           COMMAND                   CREATED          STATUS          PORTS                                       NAMES
57aec20a231b   bitnami/redis   "/opt/bitnami/script…"   7 minutes ago    Up 3 seconds    0.0.0.0:6380->6379/tcp, :::6380->6379/tcp   redis02
da79f3d15645   bitnami/redis   "/opt/bitnami/script…"   15 minutes ago   Up 15 minutes   0.0.0.0:6379->6379/tcp, :::6379->6379/tcp   redis01
[root@root app]# 

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/683262.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode-92. 反转链表 II【链表】

LeetCode-92. 反转链表 II【链表】 题目描述&#xff1a;解题思路一&#xff1a;简单的翻转链表操作背诵版&#xff1a;解题思路三&#xff1a;0 题目描述&#xff1a; 给你单链表的头指针 head 和两个整数 left 和 right &#xff0c;其中 left < right 。请你反转从位置 …

[Linux] 软链接使用绝对路径的重要性

文章目录 软链接使用绝对路径的重要性软链接路径复制软链接查看文件类型 软链接使用绝对路径的重要性 软链接路径 软链接必须指定绝对路径&#xff0c;否则复制软链接后&#xff0c;由于软链接的相对路径是从软链接所处位置开始解析的&#xff0c;因此使用相对路径的软链接可…

一次 K8s 故障诊断:从 CPU 高负载到存储挂载泄露根源揭示

一、背景 现代软件部署中&#xff0c;容器技术已成为不可或缺的一环&#xff0c;在云计算和微服务架构中发挥着核心作用。随着容器化应用的普及&#xff0c;确保容器环境的可靠性成为了一个至关重要的任务。这就是容器SRE&#xff08;Site Reliability Engineering&#xff0c…

2024首发!会声会影2024旗舰版,专业编辑新体验!

会声会影2024最新旗舰版是一款专业的视频编辑软件&#xff0c;它集成了多种高级功能&#xff0c;为用户带来极致的视频编辑体验。在这篇文章中&#xff0c;我们将详细介绍该软件的功能和特色&#xff0c;帮助用户更好地了解和使用它。 会声会影全版本绿色安装包获取链接&#…

HarmonyOS鸿蒙-DevEco Studio工具

一、官网下载DevEco Studio工具地址 文章内容: 1、下载工具 2、运行项目 3、安装启动器 https://developer.harmonyos.com/cn/develop/deveco-studio/https://developer.harmonyos.com/cn/develop/deveco-studio/ 下载不同平台工具目录 : 二、 安装DevEco Studio工具 安装的配置…

分布式架构与分布式理论

文章目录 分布式架构什么是分布式系统分布式系统特性分布式系统面临的问题 分布式理论数据一致性CAP理论BASE理论 分布式架构 什么是分布式系统 分布式系统是一个硬件或软件组件分布在不同的网络计算机上&#xff0c;彼此之间仅仅通过消息传递进行通信和协调的系统。 所谓分…

html+CSS+js部分基础运用15

1、完成输入框内容的实时反向输出。 2、银行账户余额变动自动通知项目。 设计要求&#xff1a;单击按钮后&#xff0c;余额按照输入框的数额减少&#xff0c;同时将按钮式的提示信息&#xff08;金额&#xff09;同步改变。利用侦听属性实现余额发生变化时发出提示信息&#x…

LabVIEW减压阀和温控阀综合测试系统

在使用LabVIEW开发阀门测试软件时&#xff0c;特别是针对减压阀和温控阀&#xff0c;测试内容和注意事项包括以下方面&#xff1a; 测试内容 压力测试&#xff1a; 入口压力&#xff1a;测量阀门在不同入口压力下的表现。 出口压力&#xff1a;确保减压阀能够将出口压力控制在…

【一百零六】【算法分析与设计】并查集的实现,P3367 【模板】并查集,sizee集合的元素个数信息

并查集的实现 描述 给定一个没有重复值的整形数组arr&#xff0c;初始时认为arr中每一个数各自都是一个单独的集合。请设计一种叫UnionFind的结构&#xff0c;并提供以下两个操作。 boolean isSameSet(int a, int b): 查询a和b这两个数是否属于一个集合 void union(int a, int …

学习笔记——IP地址网络协议——VLSM-可变长子网掩码(子网划分)

四、VLSM-可变长子网掩码(子网划分) 1、为什么要子网划分 为什么要子网划分&#xff1a;有类IP地址规划的缺陷。IP地址空间只能按照默认的类别使用&#xff0c;例如一个B类地址&#xff0c;默认掩码为255.255.0.0&#xff0c;意味着这个地址空间里有2的16次方个IP&#xff0c;…

IDEA的使用配置Maven(及selenium+webdriver的下载配置)

一. 下载maven 1. maven官网下载链接 2.​​安装第二行第一列的zip压缩包 ​​​​​​​​ 二. 配置环境变量 1.新建环境变量 2.在系统变量Path环境变量中添加%Maven_HOME%\bin 三.验证环境变量是否配置成功 winr >cmd>mvn -v 如果出现Maven的版本信息&#xff0…

Nginx设置缓存后,访问网页404 问题原因及解决方案(随手记)

目录 问题描述Nginx文件 解决方案查看error_log日志问题原因修改文件并测试Nginx文件测试 总结 问题描述 在Nginx中设置缓存expires后&#xff0c;结果重启nginx&#xff0c;网站访问404了。 Nginx文件 server {listen 80;server_name bird.test.com;location / {root /app/…

PID算法在电机速度控制上的应用

目录 概述 1 系统硬件框架 1.1 框架介绍 1.2 硬件实物图 2 STM32Cub生成工程 2.1 软件版本信息 2.2 配置参数 ​编辑2.3 生成项目 3 PID算法实现 3.1 概念 3.2 代码实现 4 其他功能实现 4.1 设置电机速度 4.2 PID算法控制电机 4.3 功能函数的调用 5 测试 5.1 …

Java中常用的单目运算符及用法详解

哈喽&#xff0c;各位小伙伴们&#xff0c;你们好呀&#xff0c;我是喵手。运营社区&#xff1a;C站/掘金/腾讯云&#xff1b;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点&#xff0c;并以文字的形式跟大家一起交流&#xff0c;互相学习&#xff0c;一…

2024年清洁能源与可持续发展国际会议(ICDESMF 2024)

2024 International Conference on Clean Energy and Sustainable Development 【1】大会信息 会议简称&#xff1a;ICDESMF 2024 大会时间&#xff1a;2024-07-22 大会地点&#xff1a;中国大理 截稿时间&#xff1a;2024-07-08(以官网为准&#xff09; 审稿通知&#xff1a…

JFinal学习06 控制器——getPara()接收数据

JFinal学习06 控制器——getPara()接收数据 视频来源https://www.bilibili.com/video/BV1Bt411H7J9/?spm_id_from333.337.search-card.all.click 文章目录 JFinal学习06 控制器——getPara()接收数据零、JFinal数据提交的三种方式一、get提交二、post提交三、url参数化提交四、…

【全开源】Shopro社区团购(小程序版)

邻里间的购物新选择 基于Fastadmin后端管理系统Uniapp客户端&#xff08;仅支持微信小程序&#xff09;开发&#xff0c;生鲜果蔬社区团购的不二之选、快速搭建社区团购平台、让你的产品走进上千个社区。线上团购线下自提&#xff0c;玩转社区消费新模式提供专业、优质的社区团…

计算机网络 期末复习(谢希仁版本)第5章

**屏蔽作用&#xff1a;**运输层向高层用户屏蔽了下面网络核心的细节&#xff08;如网络拓扑、所采用的路由选择协议等&#xff09;&#xff0c;使应用进程看见的就是好像在两个运输层实体之间有一条端到端的逻辑通信信道。 10. 端口用一个 16 位端口号进行标志&#xff0c;允许…

Linux—小小内核升级

本篇主要是讲述下关于内核的一些基本常识&#xff0c;并记录下内核升级和编译的过程&#xff0c;若有遗漏/有误之处&#xff0c;望各位大佬们指出。 Ⅰ 基本内核常识 常见内核安装包 内核(kernel)&#xff1a;这是Linux操作系统的核心部分&#xff0c;它负责管理系统的硬件和…

信号(上)

本节目标&#xff1a; 1. 掌握Linux信号的基本概念 2. 掌握信号产生的一般方式 3. 理解信号递达和阻塞的概念&#xff0c;原理。 4. 掌握信号捕捉的一般方式。 5. 重新了解可重入函数的概念。 6. 了解竞态条件的情景和处理方式 7. 了解SIGCHLD信号&#xff0c; 重新编写信号处理…