docker ui portainer

portainer

1
docker   compose  -f   portainer.yml 
portainer.yml
portainer.yml
version: '3.8'  # 根据你的Docker Compose版本选择合适的版本号
services:
  portainer:
    image: portainer/portainer-ce:alpine-sts
    container_name: portainer
    ports:
      - 8000:9000
      - 9443:9443
    extra_hosts:
      - "portainer.ui.k8s.cn:192.168.122.1" # 添加主机名
    volumes:
      - /mnt/oss/portainer/data:/data
      - /var/run/docker.sock:/var/run/docker.sock
     - /mnt/oss/portainer/public:/public  #chinese
 

chinese https://github.com/outlovecn/portainer-cn

docker pull m.daocloud.io/docker.io/portainer/portainer-ce:2.19.5
docker tag m.daocloud.io/docker.io/portainer/portainer-ce:2.19.5 portainer/portainer-ce:2.19.5

MQ 比较

差异

功能项 RocketMQ Kafka RabbitMQ
优先级队列 不支持 不支持 支持。建议优先级大小设置在0-10之间。
延迟队列 支持 不支持 不支持
死信队列 支持 不支持 支持
消息重试 支持 不支持 不支持
消费模式 支持客户端主动拉取和服务端推送两种方式 客户端主动拉取 支持客户端主动拉取以及服务端推送两种模式
广播消费 支持 支持 支持
消息回溯 支持 支持。Kafka支持按照offset和timestamp两种维度进行消息回溯。 不支持。RabbitMQ中消息一旦被确认消费就会被标记删除。
消息堆积 支持 支持。考虑吞吐因素,Kafka的堆积效率比RabbitMQ总体上要高。 支持
持久化 支持 支持 支持
消息追踪 支持 不支持 不支持
消息过滤 支持 支持 不支持,但可以自行封装。
多租户 支持 不支持 支持
多协议支持 兼容RocketMQ协议 只支持Kafka自定义协议。 RabbitMQ基于AMQP协议实现,同时支持MQTT、STOMP等协议。
跨语言支持 支持多语言的客户端 采用Scala和Java编写,支持多种语言的客户端。 采用Erlang编写,支持多种语言的客户端。
流量控制 待规划 支持client和user级别,通过主动设置可将流控作用于生产者或消费者。 RabbitMQ的流控基于Credit-Based算法,是内部被动触发的保护机制,作用于生产者层面。
消息顺序性 单队列(queue)内有序 支持单分区(partition)级别的顺序性。 不支持。需要单线程发送、单线程消费并且不采用延迟队列、优先级队列等一些高级功能整体配合,才能实现消息有序。
安全机制 支持SSL认证 支持SSL、SASL身份认证和读写权限控制。 支持SSL认证
事务性消息 支持 支持 支持

功能

http code了解

HTTP状态码

1xx

信息性状态码,表示请求已被接收,需要继续处理。
  • 100 Continue
  • 101 Switching Protocols

当服务器返回101状态码时,它通常还会发送一个”Upgrade”响应头 ,例如,客户端可能请求将HTTP协议切换到WebSocket协议

2xx

  成功状态码,表示请求已成功被服务器接收、理解并接受。
  • 200 OK
  • 201 Created

检查状态

集群

doc https://www.rabbitmq.com/docs/man/rabbitmqctl.8

1
2
3
4
5
6
[root@rabbitmq-2 ~]# rabbitmqctl stop_app  #停止节点
[root@rabbitmq-2 ~]# rabbitmqctl reset #如果有数据需要重置,没有则不用
[root@rabbitmq-2 ~]# rabbitmqctl join_cluster --ram rabbit@rabbitmq-1 #添加到磁盘节点
Clustering node 'rabbit@rabbitmq-2' with 'rabbit@rabbitmq-1' ...
[root@rabbitmq-2 ~]# rabbitmqctl start_app #启动节点
Starting node 'rabbit@rabbitmq-2' ...

cluster_status

1
rabbitmqctl cluster_status

发生了网络分区

关注rabbitmqctl cluster_status字段 的partitions

各种索引

索引分类

1
2
3
4
5
6
7
8
create table s1(
id int ,#可以在这加primary key
name char(20),
age int,
email varchar(30)
#primary key(id) #也可以在这加
index(id) #可以这样加
);

普通索引

index :加速查找

1
2
3
4
5
-在创建表后在创建
create index name on s1(name); #添加普通索引


drop index name on s1; #删除普通索引

唯一索引

常用软件ui

蓝牙

BCM43142 Linux 驱动

❯ lsmod | grep blue
bluetooth 958464 42 btrtl,btmtk,btintel,btbcm,bnep,btusb,rfcomm
ecdh_generic 16384 2 bluetooth
rfkill 36864 9 iwlmvm,bluetooth,cfg80211
crc16 16384 2 bluetooth,ext4

1
2
3
sudo apt install bluez bluez-tools 
#ui
sudo apt-get install blueman

python 基础

基础

元组

  • 不可变性:元组一旦创建就不能修改,这使得元组在某些情况下比列表更安全。
  • 存储:可以存储不同类型的数据。
  • 性能:由于元组的不可变性,它们通常比列表有更快的访问速度。
  • 用途:适合用于存储不需要修改的数据集合,如函数返回多个值时。
  • 语法:使用逗号 , 来定义,圆括号 ()可省略。
1
2
3
# best_language = ('python',)
best_language = 'python','cs'
print(best_language)
载入天数...载入时分秒... ,