培训第三十四天(初步了解Docker与套接字的应用)

news2024/11/24 16:48:04

上午

回顾

1、主从复制(高可用)
2、传统的主从复制
3、gtids事务型的主从复制
4、注意

1)server_id唯一

2)8.X版本需要get_ssl_pub_key

3)5.X不需要

4)change master to

5)stop | start slave

5、非交互
 import pymysql
 conn=pymysql.connect(host=xxx,user=xxx,password=xxx,port=xx,database=xxxx)
 cursor=conn.cursor()
 sql="insert | delete | update | select..."
 cursor.execute(sql)
 #查询不需要提交,直接使用fectch就可以得到结果
 #增删改需要提交
 conn.commit()
 mysql -h10.0.0.21 << EOF
 create datase if not exists test charset utf8mb4;
 use test;
 create tables...
 quit
 EOF
6、数据库的负载均衡 阿里巴巴的mycat
 vim /usr/local/mycat/conf/server.xml
 对外的账户  密码   数据库
 <user name="li">
     <property name="password">li</property>
     <property name="database">test>/property>
 </user>
 vim /usr/local/mycat/conf/schema.xml
 <mycat:schema>
     <schema name="test" dataNode="abc"></schema>
     <dataNode name="abc" dataHost="efg" database="test"/>
     <dataHost name="efg"  ......>
         <writeHost host="hs01" url="10.0.0.11:3306" user="li" password="li">
             <readHost host="hs02" url="10.0.0.12:3310" user="li" password="li"/>
             <readHost host="hs02" url="10.0.0.13:3310" user="li" password="li"/>
         </writeHost>
     </dataHost>
 </mycat:schmel>
7、如果出现启动异常,8066端口没有打开,可以检查两个日志文件

vim /usr/local/mycat/logs/wrapper.log

vim /usr/local/mycat/logs/mycat.log

8、后端服务器 java | python | php | asp

版本:正常市场jdk8,但是由于spring6.X框架必须要求17以上的版本,jdk版本比较多,找开发者要版本-jdk

 vim /etc/profile
 export JAVA_HOME=/usr/local/jdk
 export PATH=$PATH:$JAVA_HOME/bin
 souce /etc/profile

使用jar包启动服务

 #配置application.properties | yml
 #修改yml中的端口或者数据源
 url=jdbc:msyql://ip:port/databasename
 username=dbuser
 password=dbpass
 java -jar eleme.xxxx.jar
9、负载均衡技术lvs
 dr模式
 1、挂载vip(对外) ens33:0
 ifconfig ens33:0 vipXXXX broadcast=vipxxxx netmast=255.255.255.255 up
 route add vipxxxx dev ens33:0
 yum -y install ipvsadm
 #添加规则
 ipvsadm -A -t vipxxxx:port -s rr
 ipvsadm -a -t vipxxxx:port -r ripxxxx -g
 ipvsadm -a -t vipxxxx:port .....
 rs主机
 ifconfig lo:0 vipxxxx broadcast=vipxxxx netmast=255.255.255.255 up
 route add vipxxxx dev lo:0
 抑制接受请求
 echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
 echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
 echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
 echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
10、nginx配置代理 负载均衡
 http {
     upstream javagroup{
      server ip:port weight=99;
      server ip:port weight=1;
     }
     server {
      location ~/ {
       pass_proxy http://javagroup:
      }
     }
 }

下午

⼀、了解Docker

1、Docker 是什么?

Docker 是⼀个开源的应⽤容器引擎,可以实现虚拟化,完全采⽤“沙 盒”机制,容器之间不会存在任何接⼝。

Docker 通过 Linux Container(容器)技术将任意类型的应⽤进⾏包 装,变成⼀种轻量级、标准化、可移植、⾃管理的组件。在包装应⽤的同时,可连带该应⽤的依赖和环境⼀并进⾏打包,所以可以将这种“包”移植到任意环境去运⾏,省去兼容性的问题。

2、Docker 和虚拟机的区别

Docker和虚拟机在以下⼋个⽅⾯存在差异:

1、启动速度:Docker 启动速度⾮常快,属于秒级别,⽽虚拟机通常需要⼏分钟去启动。

2、资源消耗:Docker 需要的资源更少,它直接运⾏在宿主机的内核上,以⼀系列进程的结合形式存在。⽽虚拟机则需要消耗更多的资源,因为它在操作系统级别进⾏虚拟化。

3、轻量级:Docker 更轻量,它的架构可以共⽤⼀个内核与共享应⽤程序库,所占内存极⼩。⽽虚拟机则相对较重,需要消耗更多的内存。

4、隔离性:虚拟机可以实现系统级别的隔离,⽽ Docker 则属于进程之间的隔离,隔离性相对较弱。

5、安全性:Docker 的安全性也更弱。

6、可管理性:Docker 的集中化管理⼯具还不算成熟。

7、兼容性:开发⼈员不需要关系具体是哪个 Linux 操作系统,基本市⾯上主流系统都可使⽤ Docker。

8、数据持久性:Docker ⽆法存储数据,当容器重启后,数据会消 失;⽽虚拟机可以存储各种数据,包括⽇志、数据库等。

3、Docker 解决的问题

(1)系统环境不⼀致问题 环境不同时可能会出现的环境问题:

使⽤ docker 容器时:

将简易的操作系统、编写好的代码、部署完成的应⽤服务配置等打包放到容器内,再转到鲸⻥上,由鲸⻥送到服务器,此时,⽆论是什么运⾏环境,docker 容器都可以运⾏。

(2)应⽤隔离问题

Linux 是⼀个⽀持多⽤户的操作系统,正因如此,可能会造成⽤户使 ⽤时,互相之间占⽤资源过多,以致于服务器资源空间不⾜,⽽ docker 具有隔离性,可以在启动时就限定好硬件的使⽤率,当某个容器到达或超过限定的阈值时,就会被 kill,此时需要运维⼈员对其 进⾏调试。

4、Docker 的优缺点

(1)优点

1、 体积⼩:减⼩系统的开销值,⼀台主机可以运⾏上千个容器。

2、启动迅捷:更快速的交付和部署,docker容器 ,⽐传统虚拟机要快很多,docker核⼼解决的问题就是利⽤容器实现VM类似的功能。

3、操作⽅便:通过配置 dockerfile 便⽀持灵活的⾃动化创建和部署。

4、更轻松的扩展:可以实现更简单的、更可靠的迁移,避免了兼容 性等问题。

5、更强的可扩展性和可移植性。

(2)缺点

1、安全问题:如果没有正确配置,⼀个容器中的恶意代码可能会影响到主机上的其他容器以及主机本身的安全。

2、存储问题:当使⽤⼤量容器时,存储和管理容器映像可以变得⾮常困难。这可能需要使⽤分布式存储或其他解决⽅案来管理⼤量容器的存储。

3、性能问题:在某些情况下,容器和虚拟机相⽐会导致性能损失。 这些性能问题越来越少,但是仍然需要考虑。

4、 ⽹络问题:Docker 可能会在⽹络配置上存在⼀些问题,这可能需要更多的时间来诊断和解决。

5、 复杂性:Docker 是⼀个⾮常灵活的系统,但这同时也让它更加复杂。⻓时间使⽤ Docker 会产⽣⼤量的脚本和配置⽂件,这些可能变得难以维护。

6、资源消耗:使⽤ Docker 必须占⽤⼀些资源,包括 CPU、内存、磁盘等等。如果运⾏容器的主机资源不⾜,可能会导致性能 问题。

7、学习曲线:Docker 是⼀个相对新的技术,相⽐传统环境需要⼀ 定的学习曲线。需要了解Docker 基本概念、命令和配置⽂件等。

8、需要花费时间配置和管理:使⽤ Docker 需要花时间配置和管理容器集群和应⽤程序。需要配置每个容器,管理 Jenkins、 Kubernetes 等运⾏ Docker 容器的⼯具。

9、映像构建复杂:构建Docker映像需要按照特定格式编写 Dockerfile 脚本,需要遵循⼀定的规范和流程,这可能需要更多的时间和精⼒。

5、Docker 架构

1、⽤ docker pull 命令从 hub.docker.com 官⽹上下载 images (镜 像)。

2、可以⽤ docker save 命令将镜像保存到本地 tar ⽂件,也可以⽤ docker load 命令将本地tar ⽂件导⼊镜像。

3、 可以⽤ docker build 构建 Dockerfile 镜像。

4、可以⽤ docker run 和 docker create 将镜像运⾏成 container (容器),容器内可以安装所需要的 APP。

5、 可以⽤ docker commit/export 将容器做成镜像反复的使⽤。

6、可以将⾃⼰制作的镜像发布到 hub.docker.com ⽹站,需要注册账号。

6、Docker 核⼼概念

1、镜像(images):⼀个⾯向 docker 容器引擎的只读模板,也是容器的基础,类似于 iso 镜像⽂件。

2、容器(container):基于镜像所创建的虚拟实例,相当于⼀个简易的 Linux 环境,可启停,且多个容器之间互相隔离。

3、仓库(Repository):集中存放 docker 镜像的位置,可使⽤ docker pull 或 push 命令下载或上传到私有或公有仓库。

4、仓库注册服务器(registry):存放仓库的地⽅,如果没有私有仓库,则使⽤公共仓库 docker hub。

7、Docker 特性

⽂件系统隔离:每个进程容器运⾏在⼀个完全独⽴的根⽂件系统⾥。

资源隔离:实现不同的容器的资源配额和调度,cgroup。

⽹络隔离:每个进程容器运⾏在⾃⼰的⽹络空间,拥有虚拟接⼝和 IP 地址。

⽇志记录:Docker将收集到和记录的每个进程容器的标准流 (stdout/stderr/stdin),⽤于实时检索或者批量检索。

变更管理:容器⽂件系统的变更可以提交到新的镜像中,并可重复使⽤以创建更多的容器。

交互式shell:Docker可以分配⼀个虚拟终端并且关联到任何容器的标准输出上,例如运⾏⼀个⼀次性交互shell。

⼆、安装 Docker

1、Docker 要求

2、安装 Docker

 [root@docker ~]# cat << EOF | tee /etc/modules-load.d/k8s.conf
 > overlay
 > br_netfilter
 > EOF
 overlay
 br_netfilter
 # 加载overlay内核模块
 [root@docker ~]# modprobe overlay 
 # 加载br_netfilter内核模块
 [root@docker ~]# modprobe br_netfilter 
 [root@docker ~]# cat /etc/modules-load.d/k8s.conf 
 overlay
 br_netfilter
 [root@docker ~]# cat << EOF | tee /etc/sysctl.d/k8s.conf
 > net.bridge.bridge-nf-call-iptables = 1
 > net.bridge.bridge-nf-call-ip6tables = 1
 > net.ipv4.ip_forward = 1
 > EOF
 [root@docker ~]# sysctl --system
 [root@docker ~]# yum -y install yum-utils device-mapper-persistent-data lvm2
 # 添加阿⾥云yum源
 [root@docker ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
 [root@docker ~]# yum -y install  docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin 
 # 启动docker守护进程
 [root@docker ~]# systemctl start docker
 # 查看本地镜像
 [root@docker ~]# docker images
 REPOSITORY   TAG       IMAGE ID       CREATED       SIZE

overlay:是⼀种⽂件系统层叠技术,常⽤于容器化平台(⽐如 Docker)中。它允许将多个⽂件系统叠加在⼀起,从⽽创建⼀个统⼀可⻅的⽂件系统。通过加载 overlay 模块,可以在 Linux 系统中使⽤ overlay ⽂件系统,并且它将提供⼀些额外的功能,⽐ 如联合挂载、⽂件层叠等。

br_netfilter:Linux 内核中的⼀个模块,它提供了桥接设备 (bridge device) 和⽹络过滤器(netfilter) 之间的集成。它允许在桥接设备上使⽤⽹络过滤器功能,如防⽕墙规则、⽹络地址转换 (NAT) 等。通过加载 br_netfilter 模块,你可以在 Linux 系统中的桥接设备上应⽤⽹络过滤规则对⽹络流量进⾏管理和控制。

device-mapper-persistent-data:⼀个Linux内核模块,它为 Device Mapper设备提供持久存储功能。DMPD提供了⼀个⽤于存储映射关系的数据库,使得Device Mapper可以持久化存储映射数据,以便在系统重新启动后仍然可以恢复之前的映射关系。

lvm2:Linux系统下的逻辑卷管理⼯具,LVM 的升级版,它是对磁盘分区进⾏管理的⼀种机制,建⽴在硬盘和分区之上的⼀个逻辑层,⽤来提⾼磁盘管理的灵活性。

三、使用docker

1、启动服务获得镜像

 # 在仓库中查找centos的镜像
 [root@docker ~]# docker search centos
 # 配置docker镜像站
 [root@docker ~]# vim /etc/docker/daemon.json
 {
         "registry-mirrors" : [
                 "https://do.nark.eu.org",
                 "https://dc.j8.work",
                 "https://docker.m.daocloud.io",
                 "https://dockerproxy.com",
                 "https://docker.mirrors.ustc.edu.cn",
                 "https://docker.nju.edu.cn"
         ]
 }
 # 重启docker
 [root@docker ~]# systemctl restart docker
 # 从仓库中拉取centos的镜像
 [root@docker ~]# docker pull centos
 # 查看本地镜像
 [root@docker ~]# docker images
 REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
 centos       latest    5d0da3dc9764   2 years ago   231MB

2、创建运行容器

 # 第一次创建容器
 [root@docker ~]# docker run -it --name=c0 centos:latest /bin/bash
 # 配置阿里云的yum仓库
 [root@41c9a7796fde /]# cd /etc/yum.repos.d/
 [root@41c9a7796fde yum.repos.d]# rm -rf *.repo
 [root@41c9a7796fde yum.repos.d]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
 [root@41c9a7796fde yum.repos.d]# yum clean all && yum makecache
 [root@41c9a7796fde yum.repos.d]# cd
 # 安装httpd
 [root@41c9a7796fde ~]# yum -y install net-tools
 [root@41c9a7796fde ~]# yum -y install httpd
 [root@41c9a7796fde ~]# yum -y install iproute
 [root@41c9a7796fde ~]# ps
    PID TTY          TIME CMD
      1 pts/0    00:00:00 bash
     81 pts/0    00:00:00 ps
 [root@41c9a7796fde ~]# ifconfig
 eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
         inet 172.17.0.2  netmask 255.255.0.0  broadcast 172.17.255.255
 # 显示系统的运行时间、当前登录的用户数量以及系统的平均负载情况
 [root@41c9a7796fde ~]# uptime
  06:37:00 up 33 min,  0 users,  load average: 0.00, 0.01, 0.02
 # 查看基于 Red Hat 的系统的发行版本信息
 [root@41c9a7796fde ~]# cat /etc/redhat-release 
 CentOS Linux release 8.4.2105

3、在容器中配置httpd服务并在外部主机中访问

 # 修改httpd的配置文件
 [root@41c9a7796fde ~]# echo "docker_httpd_server" > /var/www/html/index.html
 # 表明当前的容器环境不是以systemd作为初始化系统启动的,所以无法使用systemctl启动服务
 [root@41c9a7796fde ~]# systemctl start httpd
 System has not been booted with systemd as init system (PID 1). Can't operate.
 Failed to connect to bus: Host is down
 # 在命令行中直接启动 Apache 服务
 [root@41c9a7796fde ~]# httpd -k start
 #  Apache HTTP 服务器在启动时无法可靠地确定服务器的完全限定域名,因此使用了IP地址 172.17.0.2
 AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
 [root@41c9a7796fde ~]# curl localhost
 docker_httpd_server
 [root@41c9a7796fde ~]# curl http://localhost:80
 docker_httpd_server
 [root@41c9a7796fde ~]# curl http://172.17.0.2:80
 docker_httpd_server
 新开一终端:
 [root@docker ~]# curl http://172.17.0.2:80
 docker_httpd_server
 # 一旦退出容器,将无法访问到容器的httpd服务,再次进入到容器中,服务已正常关闭,需要重启服务才能正常工作

4、非正常退出容器(容器继续运行,服务继续工作)

 # 在当前系统中查找与 “docker” 相关的进程信息
 [root@docker ~]# ps -aux | grep docker
 #  Docker 守护进程,进程ID为1350,由root用户启动。它正在监听文件描述符(-H fd://)并与 containerd 进行交互(--containerd=/run/containerd/containerd.sock)。
 root       1350  0.0  6.7 1635992 32612 ?       Ssl  14:15   0:01 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
 # 执行“ps -aux | grep docker”命令自身产生的进程,进程ID为2445,也是由root用户在终端(pts/0)中启动,用于在输出结果中过滤出包含“docker” 的行。
 root       2445  0.0  0.2 112724   964 pts/0    S+   15:06   0:00 grep --color=auto docker
 # 启动名字为c0的容器
 [root@docker ~]# docker start c0
 # 在正在运行的名为 “c0” 的容器中启动一个交互式的 Bash shell
 [root@docker ~]# docker exec -it c0 /bin/bash
 # 将c0的终端挂载附加到当前的终端上
 [root@docker ~]# docker attach c0
 [root@41c9a7796fde /]# 
 # 期望退出,服务继续运行
 curl+p+q
 [root@41c9a7796fde /]# read escape sequence
 # 列出当前正在运行的 Docker 容器的相关信息
 [root@docker ~]# docker ps
 CONTAINER ID   IMAGE           COMMAND       CREATED             STATUS          PORTS     NAMES
 41c9a7796fde   centos:latest   "/bin/bash"   About an hour ago   Up 33 minutes             c0

5、关闭docker守护进程

 # 查看docker状态
 [root@docker ~]# systemctl status docker
 # 查看版本
 [root@docker ~]# docker version
 # 关闭docker守护进程
 [root@docker ~]# systemctl stop docker
 Warning: Stopping docker.service, but it can still be activated by:docker.socket
 # docker守护进程已关闭,无法进入容器中
 [root@docker ~]# docker attach c0
 You cannot attach to a stopped container, start it first

6、套接字的应用

 # 套接字文件为/tmp/mysql.sock
 [root@mysql_c ~]# vim /usr/local/mysql/my.cnf 
 [mysqld]
 basedir=/usr/local/mysql
 datadir=/usr/local/mysql/data
 socket=/tmp/mysql.sock
 port=3310
 log-error=/usr/local/mysql/data/db01-slave.err
 relay-log=/usr/local/mysql/data/relaylog
 server-id=11
 character_set_server=utf8mb4
 # mysql服务未开启
 [root@mysql_c ~]# netstat -lnput | grep mysql
 # 无sock文件
 [root@mysql_c ~]# ls -lh /tmp/
 总用量 0
 drwx------. 3 root root 17 8月  22 15:30 systemd-private-2aed4145d94f4730bb8da071dc67b409-chronyd.service-tcRXAE
 drwx------. 2 root root  6 8月  21 15:35 vmware-root
 # 开启mysql服务
 [root@mysql_c ~]# service mysql57 start
 Starting MySQL.. SUCCESS! 
 # 查看mysql文件是否开启成功
 [root@mysql_c ~]# netstat -lnput | grep mysql
 tcp6       0      0 :::3310                 :::*                    LISTEN      1477/mysqld 
 # 出现sock⽂件
 [root@mysql_c ~]# ls -lh /tmp/
 总用量 4.0K
 srwxrwxrwx. 1 mysql mysql  0 8月  22 15:31 mysql.sock
 -rw-------. 1 mysql mysql  5 8月  22 15:31 mysql.sock.lock
 drwx------. 3 root  root  17 8月  22 15:30 systemd-private-2aed4145d94f4730bb8da071dc67b409-chronyd.service-tcRXAE
 drwx------. 2 root  root   6 8月  21 15:35 vmware-root

7、docker套接字的配置(设置允许远程管理)

 # docker的守护进程已经关闭,查看docker的套接字(时间不对)
 [root@docker ~]# ls -lh /var/run/
 srw-rw----.  1 root   docker    0 8月  22 14:15 docker.sock
 # 开启docker的守护进程,时间还是不对
 [root@docker ~]# systemctl start docker
 [root@docker ~]# ls -lh /var/run/
 srw-rw----.  1 root   docker    0 8月  22 14:15 docker.sock
 # 查看docker服务文件
 [root@docker ~]# vim /usr/lib/systemd/system/docker.service

 # 修改daemon.json文件
 [root@docker ~]# vim /etc/docker/daemon.json 
 {
         "registry-mirrors" : [
                 "https://do.nark.eu.org",
                 "https://dc.j8.work",
                 "https://docker.m.daocloud.io",
                 "https://dockerproxy.com",
                 "https://docker.mirrors.ustc.edu.cn",
                 "https://docker.nju.edu.cn"
         ],
 # 指定 Docker 守护进程的监听地址
         "hosts" : [
 # 表示Docker守护进程将在所有网络接口上监听TCP连接,端口号为 2375
                 "tcp://0.0.0.0:2375",
                 "unix:///var/run/docker.sock"
         ]
 }
 # 修改docker服务文件
 [root@docker ~]# vim /usr/lib/systemd/system/docker.service
 13 ExecStart=/usr/bin/dockerd 
 # 开启docker守护进程,发现启动不了
 [root@docker ~]# systemctl start docker.service 
 Warning: docker.service changed on disk. Run 'systemctl daemon-reload' to reload units.
 Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.
 # 加载daemo.json文件
 [root@docker ~]# systemctl daemon-reload
 # 启动docker守护进程,成功
 [root@docker ~]# systemctl start docker.service 
 Warning: docker.service changed on disk. Run 'systemctl daemon-reload' to reload units.
 # 查看docker服务是否启动(要允许远程连接,需要有一个服务,使用端口体现)
 [root@docker ~]# netstat -lntup | grep docker
 tcp6       0      0 :::2375                 :::*                    LISTEN      3198/dockerd   
 # 查看docker.sock文件是否更新成功(sock套接字),成功
 [root@docker ~]# ll /var/run/docker.sock 
 srw-rw----. 1 root docker 0 8月  22 16:14 /var/run/docker.sock
 # 通过指定IP地址为“10.0.0.100”的Docker守护进程来查看镜像列表(远程管理)
 [root@docker ~]# docker -H 10.0.0.100 images
 REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
 centos       latest    5d0da3dc9764   2 years ago   231MB

8、查看dockers的帮助信息,选项的应用

 [root@docker ~]# docker --help
 Common Commands:
   run         Create and run a new container from an image
   exec        Execute a command in a running container
   ps          List containers
   build       Build an image from a Dockerfile
   pull        Download an image from a registry
   push        Upload an image to a registry
   images      List images
   login       Log in to a registry
   logout      Log out from a registry
   search      Search Docker Hub for images
   version     Show the Docker version information
   info        Display system-wide information
 Management Commands:
   builder     Manage builds
   buildx*     Docker Buildx
   compose*    Docker Compose
   container   Manage containers
   context     Manage contexts
   image       Manage images
   manifest    Manage Docker image manifests and manifest lists
   network     Manage networks
   plugin      Manage plugins
   system      Manage Docker
   trust       Manage trust on Docker images
   volume      Manage volumes
   ......
 # 查看启动的容器
 [root@docker ~]# docker ps
 CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
 # 查看全部的容器
 [root@docker ~]# docker ps -a
 CONTAINER ID   IMAGE           COMMAND       CREATED       STATUS                         PORTS     NAMES
 41c9a7796fde   centos:latest   "/bin/bash"   2 hours ago   Exited (0) About an hour ago             c0
 # 启动名字为c0的容器
 [root@docker ~]# docker start c0
 c0
 # 进入c0容器中
 [root@docker ~]# docker attach c0
 # 开启httpd服务
 [root@41c9a7796fde /]# httpd -k start
 AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
 # 访问当地httpd服务
 [root@41c9a7796fde /]# curl localhost
 docker_httpd_server
 # 非正常退出容器,容器继续正常运行
 [root@41c9a7796fde /]# read escape sequence
 # 查看运行中的容器
 [root@docker ~]# docker ps 
 CONTAINER ID   IMAGE           COMMAND       CREATED       STATUS              PORTS     NAMES
 41c9a7796fde   centos:latest   "/bin/bash"   2 hours ago   Up About a minute             c0
 # 显示有关Docker安装和当前系统配置的详细信息
 [root@docker ~]# docker info
 Client: Docker Engine - Community
  Version:    26.1.4
  Context:    default
  Debug Mode: false
  Plugins:
   buildx: Docker Buildx (Docker Inc.)
     Version:  v0.14.1
     Path:     /usr/libexec/docker/cli-plugins/docker-buildx
   compose: Docker Compose (Docker Inc.)
     Version:  v2.27.1
     Path:     /usr/libexec/docker/cli-plugins/docker-compose

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

InternLM2_PracticalCamp_L2_task3_LMDeploy量化部署进阶实践

1 配置LMDeploy环境 1.1 InternStudio开发机创建与环境搭建 点选开发机&#xff0c;自拟一个开发机名称&#xff0c;选择Cuda12.2-conda镜像。 我们要运行参数量为7B的InternLM2.5&#xff0c;由InternLM2.5的码仓查询InternLM2.5-7b-chat的config.json文件可知&#xff0c;…

vue+echarts:echarts地图页面跳转

在setOption的平级写点击事件&#xff0c;给chart添加click监听 getmapChart.setOption({......})//和数据对应即可 //点击区域实现页面跳转getmapChart.on(click,function(params){// console.log(params);switch(params.name){case "xxxx":top.location.href"…

PHP之 通过ecc,sm2加密证书实现 sm2国密 加密

SM2 为非对称加密&#xff0c;基于 ECC。该算法已公开。由于该算法基于 ECC&#xff0c;故其签名速度与秘钥生成速度都快于 RSA。ECC 256 位&#xff08;SM2 采用的就是 ECC 256 位的一种&#xff09;安全强度比 RSA 2048 位高&#xff0c;但运算速度快于 RSA。 openssl_pkey_…

信息学奥赛初赛天天练-72-NOIP2016普及组-基础题3-无向图、简单无向图、自环、平行边、顶点的度、握手定理、递归

NOIP 2016 普及组 基础题3 5 以下不是存储设备的是( ) A 光盘 B 磁盘 C 固态硬盘 D 鼠标 6 如果开始时计算机处于小写输入状态&#xff0c;现在有一只小老鼠反复按照 CapsLock、 字母键 A、字母键 S、字母键 D、字母键 F 的顺序循环按键&#xff0c;即 CapsLock、A、S、D、F、…

10秒记住C语言运算优先级

C语言中有10类运算符号&#xff1a;算术运算符、关系运算符、逻辑运算符、位操作运算符、赋值运算符、条件运算符、逗号运算符、指针运算符、求字节数运算符和特殊运算符 你是否正在为记住C语言运算优先级而烦恼&#xff1f; C语言中每种同类运算符都有内部的运算符优先级&…

iOS18 Beta7 最终测试版推送:苹果的又一次技术飞跃

苹果公司以其一贯的创新精神和对完美的追求&#xff0c;再次引领了科技界的新潮流。今天&#xff0c;我们聚焦于苹果最新推送的iOS18 Beta7最终测试版&#xff0c;这一版本不仅是苹果软件更新的里程碑&#xff0c;更是用户体验的一次重大升级。 最终测试版的亮相 在众多果粉的…

《黑神话.悟空》与人工智能AI重塑经典与探索未来的交织

"近期我偶然邂逅了一个极为出色的人工智能学习平台&#xff0c;它不仅内容深入浅出&#xff0c;讲解方式还风趣幽默&#xff0c;让人学习起来既轻松又高效。如此宝藏资源&#xff0c;我迫不及待想要与各位共享。即刻点击让我们一起进入这个精彩纷呈的学习网站吧&#xff0…

2024年最顶尖的9大企业薪酬绩效管理系统

国内外主流的绩效管理系统软件有&#xff1a;Moka&#xff1b;2. BambooHR&#xff1b;3. 飞书绩效&#xff1b;4. 北森&#xff1b;5. Peoplebox&#xff1b;6. Tita绩效宝&#xff1b;7. 泛微人事管理&#xff1b;8. Trakstar Perform&#xff1b;9. 红海eHR。 在现代企业环境…

养宠人崩溃瞬间——猫毛满天飞,换毛季宠物掉毛该如何清理?

我家猫最近换毛季&#xff0c;每天随便都能用梳子梳下来几个大饼&#xff0c;只要它所到之处猫毛满天飞&#xff0c;根本扫不完。衣柜里的衣服也不能幸免&#xff0c;深色衣服已经被猫毛占据&#xff0c;直接变了一种颜色。想当初它来家里的时候是冬天&#xff0c;我还惊讶这只…

使用Obsidian实现Anki快速制卡

文章目录 前言准备双双启用遇到问题查看是什么问题解决问题 开始使用使用前的一些设置快速制卡 前言 我现在使用 Anki 的同时也使用 Obsidian&#xff0c;正好可以通过插件来让这两个十分好用的软件实现联动。 在 Obsidian 中实现 Anki 的快速制卡。 准备 首先要在这两个软…

Cocos Creator通用关卡编辑器UniLevelEditor

这是一款通用的关卡编辑器&#xff0c;可以帮助你快速制作不同类型游戏的关卡内容。不需要每个游戏都特别制作对应的关卡编辑器了。 注&#xff1a;该商品为Cocos项目源码&#xff0c;不是插件&#xff0c;开发语言为TypeScript。 目前仅支持在Cocos Creator 2.x中运行该项目&a…

Voilà的安装与介绍

‌Voil‌是一个工具,能够将Jupyter Notebooks转换成交互式网页,允许代码单元运行、ipywidgets交互,并且方便分享。Voil的主要功能包括: -‌ 转换notebook‌:Voil可以将Jupyter notebook转换成一个静态的网页,包括代码单元、Markdown单元、输出结果以及交互式组件,同时保…

中国红树林动态分布数据(1990-2020年)

红树林位于热带和亚热带地区的沿海过渡地带&#xff0c;具有重要的生态功能和社会经济价值。同时红树林是热带、亚热带海岸带海陆交错区生产能力最高的海洋生态系统之一&#xff0c;在净化海水、防风消浪、维持生物多样性、固碳储碳等方面发挥着极为重要的作用。 该数据集利用了…

2024年高教社杯数学建模国赛E题思路解析+代码+论文

2024年高教社杯全国大学生数学建模竞赛&#xff08;以下简称国赛&#xff09;将于9月5日晚6时正式开始。 下文包含&#xff1a;2024国赛思路解析​、国赛参赛时间及规则信息说明、好用的数模技巧及如何备战数学建模竞赛 C君将会第一时间发布选题建议、所有题目的思路解析、相…

网络通信tcp

管道通信与数据复制管道通信确实涉及数据复制的过程&#xff0c;这是由于管道的工作原理所决定的。下面详细解释一下&#xff1a;管道通信的数据复制 1. 写入管道&#xff1a;•当一个进程通过 write() 系统调用向管道写入数据时&#xff0c;数据实际上是从进程的用户空间复制…

【blender】一个汉堡包

第一次建模&#xff0c;哈哈汉堡包样式大差不差。至于这么做的&#xff0c;那么多快捷键完蛋&#xff0c;忘得差不多了&#xff01; 官网地址&#xff1a;https://www.blender.org/download/ 我下载的是4.2版本

大众点评2024年6月全国全分类店铺基础信息数据库

大众点评的采集在2023年之前还是比较好采集的&#xff0c;很多接口不需要登录&#xff0c;即使登录一个帐号也可以采集很多&#xff0c;所以大约2023年8月以前的大众点评店铺字段非常丰富&#xff0c;几乎所有常见店铺字段都能采集。 2023年8月以后&#xff0c;大量接口权限变…

Bigtop 从0开始(下)

原文阅读&#xff1a;【巨人肩膀社区博客分享】Bigtop 从0开始 bigtop 使用示例: 这里使用 官方的bigtop 3.2.0 作为示例&#xff0c;使用centos7 为编译操作系统&#xff0c;其他的系统和其他版本也是一样的操作。 1.创建一个开发目录 mkdir /home/jialiang/dev/ 2.克隆b…

监控篇之利用dcgm-exporter监控GPU指标并集成grafana大盘

一、应用场景 当环境中包含GPU节点时&#xff0c;需要了解GPU应用使用节点GPU资源的情况&#xff0c;例如GPU利用率、显存使用量、GPU运行的温度、GPU的功率等。 在获取GPU监控指标后&#xff0c;用户可根据应用的GPU指标配置弹性伸缩策略&#xff0c;或者根据GPU指标设置告警…

【鸿蒙 HarmonyOS NEXT】引入第三方js:dayjs

一、背景 项目中需要呈现日期&#xff0c;如&#xff1a;创建时间、申请时间、订单时间、售后时间等&#xff1b;但接口一般返回的是时间戳&#xff0c;需要将时间戳转换成日期格式&#xff0c;如&#xff1a;2023-10-13 14:28:40&#xff0c;此时便考虑使用第三方js库&#x…