Docker容器与虚拟化技术:OpenEuler 部署 docker容器应用

目录

一、实验

1.环境

2.OpenEuler 安装 docker

2.镜像加速

3.docker部署LAMP

二、安装docker报错

2.docker如何快速删除容器与镜像

3.docker创建mysql容器失败

4.docker创建apache容器失败

5.docker创建php-fpm容器失败

6. 80端口与php访问失败

7.httpd容器进入不了


一、实验

1.环境

(1)主机

表1  主机

系统架构版本IP备注
LinuxopenEuler22.03 LTS SP2

192.168.204.144(动态)

192.168.204.141(静态)

192.168.204.142(静态)

docker25.0.3

(2)查看系统版本

[root@localhost ~]# cat /etc/os-release

(3) 查看网络ip

[root@localhost ~]# ip addr

2.OpenEuler 安装 docker

(1)查看当前镜像仓库

[root@localhost ~]# ls /etc/yum.repos.d/

(2)建立yum源文件

添加docker仓库

[root@localhost ~]#  sudo vim  /etc/yum.repos.d/docker-ce.repo

[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/8/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg

[docker-ce-stable-debuginfo]
name=Docker CE Stable - Debuginfo $basearch
baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/8/debug-$basearch/stable
enabled=0
gpgcheck=1
gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg

[docker-ce-stable-source]
name=Docker CE Stable - Sources
baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/8/source/stable
enabled=0
gpgcheck=1
gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg

[docker-ce-test]
name=Docker CE Test - $basearch
baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/8/$basearch/test
enabled=0
gpgcheck=1
gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg

[docker-ce-test-debuginfo]
name=Docker CE Test - Debuginfo $basearch
baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/8/debug-$basearch/test
enabled=0
gpgcheck=1
gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg

[docker-ce-test-source]
name=Docker CE Test - Sources
baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/8/source/test
enabled=0
gpgcheck=1
gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg

[docker-ce-nightly]
name=Docker CE Nightly - $basearch
baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/8/$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg

[docker-ce-nightly-debuginfo]
name=Docker CE Nightly - Debuginfo $basearch
baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/8/debug-$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg

[docker-ce-nightly-source]
name=Docker CE Nightly - Sources
baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/8/source/nightly
enabled=0
gpgcheck=1
gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg

(3)安装docker

[root@localhost ~]#  sudo dnf install -y docker-ce docker-ce-cli containerd.io

(4)启动docker服务

[root@localhost ~]#  sudo systemctl enable --now docker

(5)查看服务状态

[root@localhost ~]# sudo systemctl status docker

(6)查看版本信息

[root@localhost ~]#  sudo docker version

[root@localhost ~]#  sudo docker --version

2.镜像加速

(1)配置国内的镜像源

[root@localhost ~]#  sudo vim /etc/docker/daemon.json

{
 "registry-mirrors": ["http://hub-mirror.c.163.com","https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn"]
}

(2)重启服务

[root@localhost ~]#  sudo systemctl restart docker

(3)  查看docker信息

[root@localhost ~]#  sudo docker info

3.docker部署LAMP

(1)查看当前镜像

[root@localhost ~]# docker images

(2)拉取相关的镜像

[root@localhost ~]# docker pull mysql:8.0.35 && docker pull httpd:latest && docker pull bitnami/php-fpm:latest

(3) 再次查看镜像

[root@localhost ~]# docker images

(4)建立挂载目录

[root@localhost ~]# mkdir -p /lamp/mysql  /lamp/php  /lamo/www  /lamp/apache/conf

查看

[root@localhost ~]# cd /lam

[root@localhost lamp]# ls

(5) 查找文件php.ini

[root@localhost ~]# sudo find / -name 'php.ini'

(6)复制

[root@localhost ~]# cp /usr/local/php/lib/php.ini /lamp/php/
[root@localhost ~]# cd /lamp/php
[root@localhost php]# ls

(7)修改时区

[root@localhost php]# vim php.ini +$


(8)查找

[root@localhost conf]# sudo find / -name 'httpd.conf'

(9)复制

[root@localhost conf]# cp /usr/local/apache/conf/httpd.conf /lamp/apache/conf/
[root@localhost conf]# cd /lamp/apache/conf/
[root@localhost conf]# ls

(9)修改httpd配置文件

[root@localhost conf]# vim httpd.conf

将httpd.conf里的下面三处注释去除(下面IP必须填写PHP容器真实的IP,fpm端口号默认9000,不用变化)

 LoadModule proxy_module modules/mod_proxy.so
 LoadModule proxy_http_module modules/mod_proxy_http.so
 LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

末尾添加虚拟主机

<VirtualHost *:80>
    ServerAdmin 7jjw@163.com
    DocumentRoot "/usr/local/apache2/htdocs"
    ServerName localhost
    <Directory "/usr/local/apache2/htdocs">
        Options None
        Require all granted
    </Directory>
    ProxyRequests Off
    
    ProxyPassMatch ^/(.*\.php)$ fcgi://192.168.204.141:9000/var/www/$1 
</VirtualHost>

(10)创建mysql容器

[root@localhost conf]# docker run -d -p 3306:3306 --restart always -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=Root_321 -v /lamp/mysql:/var/lib/mysql mysql:8.0.35

(11)查看进程

mysql容器为3d开头

[root@localhost conf]# docker ps
CONTAINER ID   IMAGE          COMMAND                   CREATED              STATUS              PORTS                                                  NAMES
3d95d8d9d54d   mysql:8.0.35   "docker-entrypoint.s…"   About a minute ago   Up About a minute   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   amazing_goodall

(12)登录建立admin账号

进入3d开头的容器,密码为mysql容器创建时指定的密码Root_321

[root@localhost conf]#  docker exec -it 3d mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.35 MySQL Community Server - GPL

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create user admin identified by 'admin';
Query OK, 0 rows affected (0.05 sec)

mysql>  grant all on *.* to admin;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye
[root@localhost conf]#

(13)创建apache容器

[root@localhost conf]# docker run -d -p 80:80 --restart always -e TZ=Asia/Shanghai -v /lamp/www:/usr/local/apache2/htdocs -v /lamp/apache/conf/httpd.conf:/usr/local/apache2/conf/httpd.conf httpd:latest

 (14)查看进程

apache容器为21开头

[root@localhost conf]# docker ps |grep httpd
21d4521e77b0   httpd:latest             "httpd-foreground"        16 minutes ago   Up 16 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp                      goofy_aryabhata

(15) 创建php-fpm 容器

[root@localhost conf]# docker run -d -p 9000:9000 --restart always -e TZ=Asia/Shanghai -v /lamp/www:/var/www -v /lamp/php/php.ini:/opt/bitnami/php/etc/php.ini bitnami/php-fpm:latest

 (16)查看进程

php-fpm容器为31开头

[root@localhost conf]# docker ps
CONTAINER ID   IMAGE                    COMMAND                   CREATED          STATUS          PORTS                                                  NAMES
21d4521e77b0   httpd:latest             "httpd-foreground"        14 minutes ago   Up 14 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp                      goofy_aryabhata
313e17d021ac   bitnami/php-fpm:latest   "php-fpm -F --pid /o…"   2 hours ago      Up 2 hours      0.0.0.0:9000->9000/tcp, :::9000->9000/tcp              friendly_jones
3d95d8d9d54d   mysql:8.0.35             "docker-entrypoint.s…"   2 hours ago      Up 2 hours      0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   amazing_goodall

(17)创建网页

php网页

[root@localhost conf]# cd /lamp/www
[root@localhost www]# ls
[root@localhost www]# sudo vim index.php

<?php
phpinfo();

html网页

[root@localhost www]# sudo vim index.html

<h1>hello linux apache mysql php</h1>

连接数据库的php

[root@localhost www]# sudo vim db.php

<?php
#输出php版本号
echo PHP_VERSION;
printf("<br>");
echo date('Y-m-d H:i:s');
printf("<br>");
/*循环格式化输出*/
for ($i = 1; $i <= 5; $i++) {
printf("<h3>%03d</h3>", $i);
}
//---pdo 连接数据库
$dsn = 'mysql:host=192.168.204.141;dbname=mysql';
$username = 'admin';
$password = 'admin';
try {
$db = new PDO($dsn, $username, $password);
// 设置错误模式为异常
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "成功连接到数据库";
} catch (PDOException $e) {
echo "连接数据库失败: " . $e->getMessage();
} catch (Exception $e) {
echo "系统未知异常:" . $e->getMessage();
}
$st = $db->query("show databases");
while ($row = $st->fetch(3)) {
echo $row[0] . '<br>';
}
//print_r($st->fetchAll(PDO::FETCH_NUM));

(18)测试

http://192.168.204.141

 

http://192.168.204.141/index.php

http://192.168.204.141/db.php

二、安装docker报错

(1)报错

[root@localhost ~]#  sudo dnf install -y docker-ce docker-ce-cli containerd.io
Warning: failed loading '/etc/yum.repos.d/docker-ce.repo', skipping.
OS                                                                                           12 kB/s | 2.4 kB     00:00
everything                                                                                   13 kB/s | 2.5 kB     00:00
EPOL                                                                                         13 kB/s | 2.5 kB     00:00
debuginfo                                                                                    13 kB/s | 2.5 kB     00:00
source                                                                                       14 kB/s | 2.4 kB     00:00
update                                                                                       12 kB/s | 2.2 kB     00:00
update-source                                                                                12 kB/s | 2.2 kB     00:00
No match for argument: docker-ce
No match for argument: docker-ce-cli
No match for argument: containerd.io
Error: Unable to find a match: docker-ce docker-ce-cli containerd.io

(2)原因分析

yum源配置文件左侧未缩进。

(3)解决方法

修改yum源文件。

修改前:

修改后:

2.docker如何快速删除容器与镜像

(1)删除容器

docker rm -f $(docker ps -aq)

(2)删除镜像

docker rmi -f $(docker images -aq)

3.docker创建mysql容器失败

(1)报错

docker: Error response from daemon: driver failed programming external connectivity on endpoint friendly_shockley (29577e66bcdcb65b184d53162ec7dfcb8bd3ecc7003617f204acd01b5ce71051): Error starting userland proxy: listen tcp4 0.0.0.0:3306: bind: address already in use.

(2)原因分析

主机3306端口被占用。

[root@localhost conf]# netstat -antlp |grep 3306

(3)解决方法

关闭主机3306端口

[root@localhost conf]# sudo systemctl stop mysqld
[root@localhost conf]# netstat -antlp |grep 3306

成功:

[root@localhost conf]# docker run -d -p 3306:3306 --restart always -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=Root_321 -v /lamp/mysql:/var/lib/mysql mysql:8.0.35

4.docker创建apache容器失败

(1)报错

docker: Error response from daemon: driver failed programming external connectivity on endpoint admiring_villani (9f76049975b903328e794986b627848d4f3d2d73ebf52dbb1cacf49ee0127371): Error starting userland proxy: listen tcp4 0.0.0.0:80: bind: address already in use.

(2) 原因分析

 主机80端口被占用。

[root@localhost conf]# netstat -antlp |grep 80

(3)解决方法

关闭主机80端口

[root@localhost conf]# sudo systemctl stop mnginx
[root@localhost conf]# netstat -antlp |grep 80

成功:

[root@localhost conf]# docker run -d -p 80:80 --restart always -e TZ=Asia/Shanghai -v /lamp/www:/usr/local/apache2/htdocs -v /lamp/apache/conf/httpd.conf:/usr/local/apache2/conf/httpd.conf httpd:latest

5.docker创建php-fpm容器失败

(1)报错

docker: Error response from daemon: driver failed programming external connectivity on endpoint infallible_mcclintock (ae7987f77b68a095c9eb4160e921abec6bc5e8b26f0e5a30ada73496e8a8c5e2): Error starting userland proxy: listen tcp4 0.0.0.0:9000: bind: address already in use.

 (2) 原因分析

 主机9000端口被占用。

[root@localhost conf]# netstat -antlp |grep 9000

(3)解决方法

关闭主机9000端口

[root@localhost conf]# sudo systemctl stop php-fpm
[root@localhost conf]# netstat -antlp |grep 9000

成功:

[root@localhost conf]# docker run -d -p 9000:9000 --restart always -e TZ=Asia/Shanghai -v /lamp/www:/var/www -v /lamp/php/php.ini:/opt/bitnami/php/etc/php.ini bitnami/php-fpm:latest

6. 80端口与php访问失败

(1)报错

(2)原因分析

httpd配置文件错误;

主机与docker容器的80端口未映射成功。

(3)解决方法

查看进程与端口,80端口未启动


[root@localhost conf]# docker ps
CONTAINER ID   IMAGE                    COMMAND                   CREATED          STATUS                                  PORTS                                                  NAMES
3673ab642039   httpd:latest             "httpd-foreground"        4 seconds ago    Restarting (1) Less than a second ago                                                          pedantic_dhawan
313e17d021ac   bitnami/php-fpm:latest   "php-fpm -F --pid /o…"   16 minutes ago   Up 16 minutes                           0.0.0.0:9000->9000/tcp, :::9000->9000/tcp              friendly_jones
3d95d8d9d54d   mysql:8.0.35             "docker-entrypoint.s…"   33 minutes ago   Up 33 minutes                           0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   amazing_goodall

[root@localhost conf]# netstat -antlp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:9000            0.0.0.0:*               LISTEN      6717/docker-proxy
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      4648/docker-proxy
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      1604/smbd
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      940/rpcbind
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1273/sshd: /usr/sbi
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      1604/smbd
tcp        0      0 192.168.204.141:22      192.168.204.1:49993     ESTABLISHED 2986/sshd: root [pr
tcp        0    272 192.168.204.141:22      192.168.204.1:49988     ESTABLISHED 2977/sshd: root [pr
tcp6       0      0 :::9000                 :::*                    LISTEN      6724/docker-proxy
tcp6       0      0 :::3306                 :::*                    LISTEN      4655/docker-proxy
tcp6       0      0 :::139                  :::*                    LISTEN      1604/smbd
tcp6       0      0 :::111                  :::*                    LISTEN      940/rpcbind
tcp6       0      0 :::22                   :::*                    LISTEN      1273/sshd: /usr/sbi
tcp6       0      0 :::445                  :::*                    LISTEN      1604/smbd

 删除容器

[root@localhost conf]# docker rm -f 36

新建容器再进入容器查看(容器内安装目录为apache2)

[root@localhost conf]#  docker run -d -p 80:80 --restart always -e TZ=Asia/Shanghai -v /lamp/www:/usr/local/apache/htdocs -v /lamp/apache/conf/httpd.conf:/usr/local/apache/conf/httpd.conf httpd:latest
a8a1837942a4d6cbc4f51d965589a1123c9bce6d72f469f8d3103834c962417d
[root@localhost conf]# docker ps
CONTAINER ID   IMAGE                    COMMAND                   CREATED          STATUS          PORTS                                                  NAMES
a8a1837942a4   httpd:latest             "httpd-foreground"        4 seconds ago    Up 3 seconds    0.0.0.0:80->80/tcp, :::80->80/tcp                      stupefied_lehmann
313e17d021ac   bitnami/php-fpm:latest   "php-fpm -F --pid /o…"   22 minutes ago   Up 22 minutes   0.0.0.0:9000->9000/tcp, :::9000->9000/tcp              friendly_jones
3d95d8d9d54d   mysql:8.0.35             "docker-entrypoint.s…"   40 minutes ago   Up 40 minutes   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   amazing_goodall

[root@localhost www]# docker exec -it a8 /bin/bash
root@a8a1837942a4:/usr/local/apache2# ls
bin  build  cgi-bin  conf  error  htdocs  icons  include  logs  modules
root@a8a1837942a4:/usr/local/apache2# ll
bash: ll: command not found
root@a8a1837942a4:/usr/local/apache2# cd ..
root@a8a1837942a4:/usr/local# ls
apache  apache2  bin  etc  games  include  lib  man  sbin  share  src
root@a8a1837942a4:/usr/local# cd apache
root@a8a1837942a4:/usr/local/apache# ls
conf  htdocs
root@a8a1837942a4:/usr/local/apache# cd ..
root@a8a1837942a4:/usr/local# cd apache2
root@a8a1837942a4:/usr/local/apache2# ls
bin  build  cgi-bin  conf  error  htdocs  icons  include  logs  modules
root@a8a1837942a4:/usr/local/apache2# exit
exit

删除容器

[root@localhost conf]# docker rm -f a8


修改httpd配置文化

[root@localhost conf]# vim httpd.conf


修改后:apache修改为apache2

添加index.php

成功:

7.httpd容器进入不了

(1)报错


[root@localhost conf]# docker exec -it 44 /bin/bash
Error response from daemon: Container 44f25fb5f75a2efd17473356ef9dd0d0a427e1986f986d6b87cef54df59e7d60 is restarting, wait until the container is running
[root@localhost conf]# netstat -antpl |grep 80
[root@localhost conf]# lsof -i:80
[root@localhost conf]# docker logs --tail 50 --follow --timestamps httpd
Error response from daemon: No such container: httpd
[root@localhost conf]# docker logs --tail 50 --follow --timestamps 44f25fb5f75a
2024-02-27T16:50:45.522110444Z AH00534: httpd: Configuration error: No MPM loaded.
2024-02-27T16:50:46.019256165Z AH00534: httpd: Configuration error: No MPM loaded.
2024-02-27T16:50:46.611193271Z AH00534: httpd: Configuration error: No MPM loaded.
2024-02-27T16:50:47.399696297Z AH00534: httpd: Configuration error: No MPM loaded.
2024-02-27T16:50:48.602454008Z AH00534: httpd: Configuration error: No MPM loaded.
2024-02-27T16:50:50.598589705Z AH00534: httpd: Configuration error: No MPM loaded.
2024-02-27T16:50:54.215519088Z AH00534: httpd: Configuration error: No MPM loaded.
2024-02-27T16:51:00.969961812Z AH00534: httpd: Configuration error: No MPM loaded.
2024-02-27T16:51:14.167343075Z AH00534: httpd: Configuration error: No MPM loaded.
2024-02-27T16:51:40.167081942Z AH00534: httpd: Configuration error: No MPM loaded.
2024-02-27T16:52:31.750892286Z AH00534: httpd: Configuration error: No MPM loaded.
2024-02-27T16:53:32.206977683Z AH00534: httpd: Configuration error: No MPM loaded.
2024-02-27T16:54:32.618810032Z AH00534: httpd: Configuration error: No MPM loaded.
2024-02-27T16:55:33.047916170Z AH00534: httpd: Configuration error: No MPM loaded.
2024-02-27T16:56:33.451544959Z AH00534: httpd: Configuration error: No MPM loaded.
2024-02-27T16:57:33.846002884Z AH00534: httpd: Configuration error: No MPM loaded.
2024-02-27T16:58:34.242933943Z AH00534: httpd: Configuration error: No MPM loaded.

(2)原因分析

在没有明确声明 MPM 模块的情况下覆盖文件 /usr/local/apache2/conf/httpd.conf,所以在此提交之后,容器开始失败。

(3)解决方法

配置文件添加

LoadModule mpm_event_module modules/mod_mpm_event.so
#LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
#LoadModule mpm_worker_module modules/mod_mpm_worker.so

成功:

[root@localhost conf]# docker exec -it 21 /bin/bash
root@21d4521e77b0:/usr/local/apache2# ls
bin  build  cgi-bin  conf  error  htdocs  icons  include  logs  modules

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

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

相关文章

【刷题】Leetcode 1609.奇偶树

Leetcode 1609.奇偶树 题目描述广度优先搜索&#xff08;BFS&#xff09;深度优先算法&#xff08;DFS&#xff09; 思路一&#xff08;BFS&#xff09;思路二&#xff08;DFS&#xff09;Thanks♪(&#xff65;ω&#xff65;)&#xff89;谢谢阅读&#xff01;&#xff01;&a…

【k8s管理--Helm包管理器】

1、Helm的概念 Kubernetes包管器 Helm是查找、分享和使用软件构件Kubernetes的最优方式。 Helm管理名为chart的Kubernetes包的工具。Helm可以做以下的事情&#xff1a; 从头开始创建新的chat将chart打包成归档tgz)文件与存储chat的仓库进行交互在现有的Kubernetes集群中安装和…

【数据库管理系统】Mysql 8.0.36入门级安装

下载地址 官方网址&#xff1a;MySQL 注意事项 建议不要安装最新版本&#xff0c;一般找mysql5.0或mysql8.0系列版本即可&#xff1b;mysq1官网有.zip和.msi两种安装形式&#xff1b;zip是压缩包&#xff0c;直接解压缩以后使用的&#xff0c;需要自己配置各种东西&#xff…

模型优化_如何提高网络/模型的泛化能力?(全面)

目录 1. 以数据为中心的泛化方法 1.1 使用更多数据 1.2 做好数据预处理 特征工程 1.3 数据增强 1.4 调整数据分布 2. 以模型为中心的泛化方法 2.1 使用更大批次 超参数调优 2.2 调整目标函数 2.3 调整网络结构 2.4 屏蔽网络节点 2.5 权值正则化 2.6 偏差-方差权衡…

计算机网络_2.2物理层下面的传输媒体

2.2物理层下面的传输媒体 一、传输媒体的分类二、导向型传输媒体1、同轴电缆2、双绞线3、光纤&#xff08;1&#xff09;光纤通信原理&#xff08;2&#xff09;光纤组成&#xff08;4&#xff09;多模光纤与单模光纤对比&#xff08;5&#xff09;光纤的波长与规格&#xff08…

自测-1 打印沙漏

文章预览&#xff1a; 题目算法代码 题目 算法 以前做过这个&#xff0c;那次是c语言写的&#xff0c;一点一点处理一层一层完成&#xff0c;这次我换了一种语言用了另一种思想使用递归去写&#xff0c;还是我们要先求出应该有多少层这个很容易&#xff0c;中间输出部分我们算…

Linux系统中安装redis+redis后台启动+常见相关配置

1、下载Redis Redis官网&#xff1a;https://redis.io/ 历史版本&#xff1a; http://download.redis.io/releases 2、连接Linux&#xff08;或者VMwear&#xff09; 我们安装的是linux版本的redis 打开xftp我们需要先将我们的Redis上传到服务器上 解压到这里 解压的指令 …

回归预测 | Matlab实现BiTCN基于双向时间卷积网络的数据回归预测

回归预测 | Matlab实现BiTCN基于双向时间卷积网络的数据回归预测 目录 回归预测 | Matlab实现BiTCN基于双向时间卷积网络的数据回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现BiTCN基于双向时间卷积网络的数据回归预测&#xff08;完整源码和数据&a…

SpringBoot原理-配置优先级(黑马学习笔记)

配置优先级 在我们前面的课程当中&#xff0c;我们已经讲解了SpringBoot项目当中支持的三类配置文件&#xff1a; ● application.properties ● application.yml ● application.yaml 在SpringBoot项目当中&#xff0c;我们要想配置一个属性&#xff0c;可以通过这三种方…

CDN原理探究

来源于百度&#xff1a; https://baike.baidu.com/item/%E5%86%85%E5%AE%B9%E5%88%86%E5%8F%91%E7%BD%91%E7%BB%9C/4034265?frge_ala 通过上图&#xff0c;我们可以了解到&#xff0c;使用了CDN缓存后的网站的访问过程变为&#xff1a; 用户向浏览器提供要访问的域名&#xff…

【Unity】构建简单实用的年份选择器(简单原理示范)

在许多应用程序和游戏中&#xff0c;年份选择是一个常见的需求。无论是在日历应用程序中查看事件&#xff0c;还是在历史类游戏中选择时间段&#xff0c;年份选择器都是用户体验的重要组成部分&#xff0c;下面实现一个简易的年份选择器。 一、效果预览&#xff1a; 目录 一、…

浅谈mysql mvcc

目录 前言 mvcc 是如何工作的&#xff1f; 数据的更新 前言 mvcc 与一个事物的隔离级别有关&#xff0c;未提交读永远读的是当前值&#xff0c;串行化是通过加锁实现&#xff0c;这两种隔离级别都与mvcc 没有任何关系。只要一提到mvcc应该想到的是读提交以及可重复读&#…

Node.js中的缓存策略和缓存技巧

在Node.js中&#xff0c;缓存策略和缓存技巧是提升应用性能和用户体验的关键因素。通过有效地利用缓存&#xff0c;我们可以显著减少系统资源的消耗&#xff0c;加快数据访问速度&#xff0c;从而提升整体的网站性能。本文将针对Node.js中的缓存策略和缓存技巧展开深入探讨&…

php PhpSpreadsheet 读取日期变数字问题解决

问题描述&#xff1a; 使用PhpSpreadsheet 读取表格数据&#xff0c;日期格式读取后变成数字&#xff0c;如下图&#xff1a; 解决方案&#xff1a; $cell $sheet->getCell(H . $row)->getValue(); $toTimestamp \PhpOffice\PhpSpreadsheet\Shared\Date::excelToTimes…

CentOS安装GUI图形界面

CentOS安装图形界面 CentOS minimal环境安装图形界面。 列出所有可用的Environment Groups yum group list yum groupinfo "GNOME Desktop"选择GNOME Desktop软件包组进行安装 yum groupinstall -y GNOME Desktop1 如果要通过GUI配置网络需要安装Server with GU…

深入理解Java泛型及其在实际编程中的应用

第1章&#xff1a;泛型的起源与重要性 大家好&#xff0c;我是小黑&#xff0c;在Java里&#xff0c;泛型&#xff08;Generics&#xff09;是一种不可或缺的特性&#xff0c;它允许咱们在编码时使用类型&#xff08;Type&#xff09;作为参数。这听起来可能有点绕&#xff0c…

倒模专用制作耳机壳UV树脂:改性丙烯酸树脂

倒模专用制作耳机壳的UV树脂是经过改性的丙烯酸树脂&#xff0c;具有高透明度、高粘度、快速固化的特点。这种树脂可以通过紫外线光固化&#xff0c;快速形成坚硬的表面&#xff0c;并且具有较高的硬度和耐磨性&#xff0c;因此非常适合用于制作耳机壳。 此外&#xff0c;改性丙…

anaconda简介以及安装(Windows)

介绍 Anaconda是一个开源的Python发行版本&#xff0c;它是一个打包的集合&#xff0c;里面预装了conda、Python、众多packages、科学计算工具等。Anaconda的目的是方便使用Python进行数据科学研究&#xff0c;它涵盖了数据科学领域常见的Python库&#xff0c;并且自带了专门用…

SpringBoot 整合WebService

文章目录 WebService1.简单介绍WebService1.1. 类型1.2. 架构1.3. 主要特点1.4. 使用场景1.5. Web服务标准和技术 2.案例-WebServiceDemo2.1.引入配置文件2.2.创建接口2.3.创建接口实现类2.4.创建WebService配置类2.5.测试 WebService Web服务&#xff08;Web Services&#xf…

【C语言】指针初阶2.0版本

这篇博文我们来继续学习指针的其他内容 指针2.0 传值调用与传址调用传值调用传址调用 一维数组与指针理解数组名使用指针深入理解一维数组 二级指针指针数组二维数组与指针 传值调用与传址调用 在开始之前&#xff0c;我们需要先了解这个概念&#xff0c;后面才能够正常的学习…