kubesphere环境下 部署webdav
多的不说,直接上yaml
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110kind: DeploymentapiVersion: apps/v1metadata: name: webdav namespace: work labels: app: webdav annotations: deployment.kubernetes.io/revision: '1' kubesphere.io/alias-name: webdav kubesphere.io/creator: adminspec: replicas: 1 selector: ...
service endpoint with name xxx already exists.
使用docker启动某一个容器时,有时会遇到报如下错误docker: Error response from daemon: service endpoint with name xxx already exists.
遇到这种问题一般是容器异常退出导致
常用的解决方法有如下几种:
根据实际情况,可选择强制移除此容器 sudo docker rm -f xxxx
清理当前容器的网络占用 sudo docker network disconnect --force bridge xxx
重启docker(影响较大,慎用) sudo systemctl restart docker
docker 运行 samba
运行命令如下:1docker run -it --name samba -p 139:139 -p 445:445 -v /media:/mount -d dperson/samba -u "password;password" -s "media;/mount/;yes;no;no;all;none"
配置说明1234-v /media:/mount #目录挂载 -u "password;password" #用户名密码 -s "media;/mount/;yes;no;no;all;none" #配置参数 -p 139:139 -p 445:445 #端口
使用说明 在windows系统中以 \\IP\media 用户名:password 密码:password 即可进行连接
golang 实现文件或文件夹打包
paths可以为目录或者文件
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145func Compress(paths []string, tarPath string) error { file, err := os.Create(tarPath) if err != nil { return err } defer file.Close() var file ...
内网服务器暴露小记
环境准备
家庭内网环境光猫改桥接,路由器拨号,要求获取公网ip,路由器配置ddns+端口转发
可互联网环境 申请具有公网IP的VPS,搭建frp或者ngrok服务端
搭建桌面环境
vnc方式 1 sudo docker run -d -p 5901:5900 -e PASSWD=你的密码 -e SIZE=1920x1080 gotoeasy/ubuntu-desktop:v1
使用vnc的方式连接宿主机5901端口(此种方式暴露到互联网容易被攻击)
kasmweb 1sudo docker run -d --shm-size=512m -p 36901:6901 -e VNC_PW=你的密码 kasmweb/desktop:1.10.0
https://ip:port 用户名 kasm_user 密码 你的密码(此种方式复制粘贴使用不方便)
ddns & frp & ngrok
使用frp脚本将对应的ip port映射出去,并且在vps防火墙中放开对应端口
使用ddns方式绑定到固定域名,并在路由器中配置端口转发,也可实现对应功能
基于Alpine JRE基础镜像运行的Docker容器JVM调优
场景介绍
在线上运行的应用程序,如果出现OOM等JVM异常,我们需要通过灾难现场来判断问题代码的所在
如果现场具备JDK环境,则可以直接使用jmap jstack 这些内存分析工具进行问题的分析
如果现场不具备JDK环境,比如基于Docker运行的Alpine的Java运行环境,一般不具备JDK环境
基于JRE环境运行的Docker容器JVM调优方法联网环境12# 进入容器sudo docker exec -it xxxx /bin/sh
12# 更新apk源echo https://mirrors.aliyun.com/alpine/v3.14/main > /etc/apk/repositories && echo https://mirrors.aliyun.com/alpine/v3.14/community >> /etc/apk/repositories
12# 安装openjdk8apk update && apk upgrade && apk add openjdk8
123456#进入openjdk ...
VirtualBox命令行创建虚拟机小记
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768# 创建虚拟机前要规划虚拟机有几块磁盘、几个cpu、多大内存,磁盘存储地址 #设置虚拟机存储地址 二选一sudo VBoxManage setproperty machinefolder default #默认地址 /root/VirtualBox VMssudo VBoxManage setproperty machinefolder /mnt/data/virtualbox #自定义地址 # 创建虚拟机名称为 ubuntu1804sudo VBoxManage createvm --name ubuntu1804 --register # 修改虚拟机ubuntu1804的系统类型为Ubuntu_64sudo VBoxManage modifyvm ubuntu1804 --ostype Ubuntu_64 # 修改虚拟机ubun ...
frp使用小记
frps.ini自用frps.ini配置文件如下
1234567891011121314151617[common]# tunnel port通信管道bind_port = 7000# http和httpsvhost_http_port = 80vhost_https_port = 443log_file = /root/frps/frps.logtoken = admin12345custom_404_page = /root/frps/404.html# dashboard图形管理页面dashboard_port = 81 dashboard_user = admindashboard_pwd = admin12345
frpc.ini自用frpc.ini配置
12345678910111213141516[common]server_addr = xxx.xxx.xxx.xxxserver_port = 7000log_file = /home/security/frpc/frpc.logtoken = 135780qwe[ssh]type = tcplocal_port = ...
【GC算法】动态展示
Reference Counting Collector(引用计数法)
Mark-Sweep Collector(标记-清除法) 最早出现也是最基础的垃圾收集算法是“标记-清除”,它在1960年由Lisp之父John McCarthy提出。它包括两个阶段,算法分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成后,统一回收掉所有被标记的对象,也可以反过来,标记存活的对象,统一回收所有未被标记的对象。
它的主要缺点有两个:首先是执行效率不稳定,如果堆中包含大量对象,而且其中大部分是需要被回收的,这时必须进行大量标记和清除的动作,导致标记和清除两个过程的执行效率都随着对象数量增加而降低;第二个则是内存空间的碎片化问题,标记、清除之后会产生大量不连续的内存碎片,空间碎片太多可能会导致在程序运行过程中需要分配较大对象时无法找到足够的连续内存而不得不提前触发一次垃圾收集动作。
Mark-Compact Collector(标记-整理法) 标记整理算法其中的标记过程与标记清除算法一样,但后续步骤不是直接对可回收对象进行清理,而是让所有存活的对象都向内存空间 ...
【Docker】运行带GUI界面的Ubuntu
1docker run -dit --name ubuntu -p 6080:80 -p 5900:5900 -e RESOLUTION=1920x1080 -e VNC_PASSWORD=你的密码 -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc
使用宿主机IP即可连接VNC ip:5900
1sudo docker run -d --shm-size=512m -p 6901 :6901 -e VNC_PW=你的密码 kasmweb/desktop:1.10.0
https://ip:6901 user: kasm_user passwd: 你的密码