momo's Blog.

momo's Blog.

大佬带带我啊!我很好带的。

Alpine编译报错: make: /bin/sh: Operation not permitted
前言在Alpine 安装Python依赖的时候, 一直给我报错, 因为头铁, 只看到最后的错误, 没有把错误往前翻, 一直没有看到主要的原因。 前期一直以为是Python多平台依赖的问题, 安装起来十分头痛。尝试多次以后, 忽然看到在编译前有一个报错 1make: /bin/sh: Operation not permitted 解决低与20.10.0版本的Docker千万不要使用Alpine 3.14 做构建, 回退到Alpine 3.13 解决. 具体原因查看下方链接 参考文档 [1] 官方issues提问 [2] Alpine 3.14 发行说明
使用容器部署前后端分离的Django应用
前言在前后端分离或者多语言集成的项目中, 一般都需要独立的环境编译打包. 那么如果依照传统的构建方式, 在一个容器中进行打包构建, 那么会造成容器镜像层的冗余, 不仅体积大, 而且容器内置多种环境也不安全. 部署WSGIDjango 一般采用的是 WSGI 部署 deploy/uwsgi_conf.ini123456789101112131415161718[uwsgi]chdir = /home/backend module = opsbackend.wsgi:application socket = 127.0.0.1:8000 master = true # 以上4个是核心配置...
Vue环境变量配置Process.env
前言在使用Vue框架的时候, 经常需要用到多种环境, 比如开发环境和线上测试环境, 而不同环境中的后端接口也不太一样, 那么我们就需要在打包自动的去切换相应的环境变量. 实现1. 安装依赖1npm install process 2. 创建.env.development 和 .env.production.env.development 文件内容如下: 12345# just a flagENV = 'development'# base apiVUE_APP_BASE_API = 'http://127.0.0.1:8000/' .env.production 文件内容如下: ...
配置Containerd使其可以拉取私有的registry
配置私有镜像的仓库因为kubernetes在20版本以后, 将不会在支持docker,所以将了解一下containerd如何去配置私有镜像. 配置文件containerd的配置文件在/etc/containerd/config.toml 如果没有的话也可以去主动创建 containerd config default > /etc/containerd/config.toml 查看配置文件, 我们可以找到定义镜像仓库的字段 1234[plugins."io.containerd.grpc.v1.cri".registry] [plugins."io.containerd.grpc...
蓝鲸安装agent 提示当前业务不存在
前言今天安装agent的时候, 忽然报错, 下面把检查思路记一下 问题排查问题截图如下: 根据上图我们可以得知, agent平台在调用作业平台的时候, 传的业务ID是3, 并且提示业务不存在. 我们顺着线索, 去CMDB中查看,发现业务ID为3的已经下架了, 所以提示找不到业务为3的项目。 但是有一个问题, 明明我安装的时候业务选择的是6,并不是3,他怎么去调用业务ID为3的项目去了? 因为蓝鲸并不是比较出名的开源软件, 在尝试查社区搜关键字未果以后,变尝试自己解决。 恢复已经下架的业务那么既然,业务被下架了, 所以导致找不到ID为3的业务,那我们尝试把业务3恢复一下看看如何. 删除...
alpine系统安装常用C编译环境
安装主要是alpine使用的是musl-dev模块. 1apk add --no-cache libffi-dev gcc musl-dev make 安装 cryptography 报错123456789101112131415writing manifest file 'src/cryptography.egg-info/SOURCES.txt'running build_extgenerating cffi module 'build/temp.linux-x86_64-2.7/_padding.c'creating build/temp.linux-x86_64-2.7gene...
Python进程间通讯,实现RPC调用
前言如何通过 multiprocessing 模块实现Python的RPC 实现方法首先, 我们需要实现一个RPC的注册处理类 改类实现了方法注册和保存功能, 通过connect对象,去循环接收执行函数并返回. 123456789101112131415161718192021222324# RPCHandler.pyimport pickleclass RPCHandler: def __init__(self): self._functions = {} def register_function(self, func): ...
重写element-ui upload方法使用axios发送文件
前言ElementUI组件中的upload, 已经帮我们实现了上传方法,但是有时候我们需要去手动上传. 在组件当中, 确实提供了一个方法submit来进行手动的上传工作. 但是使用下来发现了一个问题 当表单没有选择上传的文件时, submit 方法不会触发 这样的话就出现了一个问题, 假如我们需要新建用户, 并需要同时给用户上传头像, 那我就算不上传头像的话也应该去把数据提交到action配置的链接, 但是使用组件的时候却没有. 解决组件写法12345678910111213141516<el-upload ref="upload" ...
使用flex布局,将xterm4.0终端铺满全屏
前言在使用xterm4.0版本的时候出现了一个问题, 就是原本3.0中的fullscreen接口在4.0中取消了, 找了好久也没看到4.0版本到底如何去撑满全屏。 最开始我是在公司开发, 屏幕是1080分辨率, 我就按照1080来调试了行数, 做了一个伪全屏, 当我回家开发的时候,却发现在4k分辨率下, 只有一半屏幕是终端.没办法只能改掉. 使用flex进行弹性布局.在新版本有一个插件, 会自动让终端撑满元素, 也就是说我们不需要去在init终端的时候设置row和col,只需要调整html元素即可. 123const fitAddon = new FitAddon();term.load...
使用python将URL参数解析为字典
前言使用 urllib 库 将字段转出url参数1234from urllib.parse import urlencodeparams = {'wd': 'python', 'ie': 'utf-8'}result = urlencode(params) # wd=python&ie=utf-8 将URL参数转换为字典我们拿到的数据如下: token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNjMxMjYwNDU1LCJqdGkiOiJiYm...
avatar
Momo
不专业的运维工程师
FRIENDS
Baidu Google