解决Windows下Docker启动容器时,端口被占用错误
解决Windows下Docker启动容器时,端口被占用错误问题描述在使用docker-compose启动mysql的时候遇到一个问题:
1bind: An attempt was made to access a socket in a way forbidden by its access permissions.
然后查了一下是否存在应用占用了3306的端口:
1netstat -ano | findstr 3306
结果很尴尬,并没有。。。
百度了一下,发现是Hyper-V会保留部分tcp端口导致我们自己无法使用这些端口, 使用如下命令查看保留的端口:
123456789101112131415161718192021222324netsh interface ipv4 show excludedportrange protocol=tcp协议 tcp 端口排除范围开始端口 结束端口---------- -------- 1026 1125 1126 1225 1226 1325 1 ...
记录使用pg_dump中遇到的ssl问题
记录使用pg_dump中遇到的ssl问题问题描述在使用pg_dump过程中遇到的两个问题:
SSL connection is required. Please specify SSL options and retry.
SSL error: unsafe legacy renegotiation disabled
SSL option问题这是因为postgresql需要使用TLS/SSL connections,我们可以设置一个环境变量PGSSLMODE为required就可以了。
针对Linux或者Macos用户,使用:
1export PGSSLMODE=require
针对Windows用户,使用:
1SET PGSSLMODE=require
unsafe legacy renegotiation disabled这是因为ssl协议存在一个漏洞,后来升级的时候提供了一个开关默认关闭这个了漏洞,这个解决方法存在一定安全隐患,请谨慎使用。
创建一个自定义的openssl.cnf,并写入:
12345678910openssl_conf = openssl_ini ...
记录一些测试币的水龙头
记录一些测试币的水龙头记录一些常用的区块链水龙头,以防忘记
GoerliGoerli Testnet Faucet: 不太记得当初是怎么知道了,但是似乎永远失败…
GOERLI FAUCET, 每天可以获取0.1 ETH(以前是可以每天领取0.25ETH), 需要使用Alchemy账号.
Mining Faucet, 使用cpu的算力去挖矿,问题不大,可以使用。
polygonpolygon faucet, 支持多个测试网络,但是Goerli的ETH没拿到
参考资料
免費取得Goerli測試幣
k3s使用Let‘s Encrypt配置https入口部署
前言本文记录k3s使用letsencrypt配置ssl证书和续签。
本文使用的k3s版本为: v1.23.6+k3s1。
安装 cert-manager123# 使用官网提供的配置文件一键安装# 如果拉取 github 资源有困难,可以从网络通畅的位置下载好粘贴过去$ kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.9.1/cert-manager.yaml
如果一切正常,k3s
12345$ kubectl get pods -n cert-managerNAME READY STATUS RESTARTS AGEcert-manager-6544c44c6b-tlhw8 1/1 Running 0 51scert-manager-cainjector-5687864d5f-rldsg 1/1 Running ...
给Ingress上配置ssl证书
给Ingress上配置ssl证书创建secret1234kubectl create secret tls [secretName] --cert=[pem文件路径] --key=[key文件路径] --namespace [namespace] -o yaml --dry-run=client > ingress-default-cert.yamlkubectl apply -f ingress-default-cert.yaml
Ingress添加证书1234567891011121314151617181920212223242526272829apiVersion: networking.k8s.io/v1beta1kind: Ingress metadata: name: [ingress-name] namespace: [namespace] # ingress要和secret在同一个名称空间下 annotations: kubernetes.io/ingress.class: traefik traef ...
Angular独立组件简单体验
Angular独立组件简单体验前言Angular 14一项令人兴奋的特性就是Angular的独立组件终于来了。
在Angular 14中, 开发者可以尝试使用独立组件开发各种组件,但是值得注意的是Angular独立组件的API仍然没有稳定下,将来可能存在一些破坏性更新,所以不推荐在生产环境中使用。
如何创建一个独立组件对于已有的组件,我们可以在@Component()中添加standalone: true的标识,然后我们可以在没有@NgModule()的情况下直接使用imports导入其他模块了。如果是新建组件,可以使用ng generate component <name> --standalone的命令,直接创建一个独立组件, 例如:
1ng generate component button-list --standalone
12345678910@Component({ selector: 'app-button-list', standalone: true, imports: [ CommonModule, ], ...
drone + gogs + docker实现持续自动化部署
准备我们使用docker-compose来安装gogs和drone。
首先我们准备数据库,gogs支持mysql,postgres, sqlite, sql server和TiDB。这里我们选择使用postgre:
12345678910111213141516171819version: '3'services: postgres: image: postgres:14.2 container_name: postgres ports: - 5432:5432 volumes: - ./postgres:/var/lib/postgresql/data environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: 123456 POSTGRES_DB: postgres networks: - ci-network networks: ci-network: external: true
创建docker网络 ...
K3S安装的时候默认使用docker
K3S安装的时候默认使用docker问题k8s在1.20之后就弃用docker的运行时了,所以k3s也开始默认使用containerd作为默认的运行时。这导致一个问题。那就是k3s无法访问本地docker镜像。
解决方案一种解决方案就是使用containerd的镜像,而不是docker。还有一种方式是在安装时就指定k3s使用docker作为运行环境。
12/usr/local/bin/k3s-uninstall.shcurl -sfL https://get.k3s.io | sh -s - server --docker
国内用户,可以使用以下方法加速安装:
1curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - server --docker
使用github action推送到docker的镜像仓库
准备请在github的设置页面上创建一个token,并确保有以下的权限:
repo
read:packages
write:packages
请保存好该token,因为github将隐藏该值
在github的仓库的secrets设置页面(例:https://github.com/{your_username}/{your_repository_name}/settings/secrets/actions)里创建一个名为GHCR_PAT的secrets
创建GitHub Action文件在.github/workflow中创建一个build-and-publish.yml:
123456789101112131415161718192021222324252627282930313233343536373839name: Build and Publishon: push: branches: [ master ]jobs: build-and-push-docker-image: name: Build Docker image and push to rep ...
两种在Minikube中运行本地Docker镜像的简单方式
两种在Minikube中运行本地Docker镜像的简单方式前言本文将分享两种在Minikube中运行本地Docker镜像的简单方式
要求
安装并运行Docker
安装并运行Minikube
安装kubectl
你将学到的知识本文将教会大家如何在Minikube中使用本地的Docker镜像。因为Kubernetes默认从注册表中提取镜像,所以Kubernetes一般是不会使用本地镜像,并且在生产环境中也不应该使用本地镜像。但是,如果我们可以很轻松的使用本地镜像,而不是每次都需要将这些镜像推送到远程的注册表、登录远程注册表并在本地电脑中重新拉取,那么使用本地镜像将十分便利。
和往常一样,我在github中准备了一个仓库, 方便大家查看完成的代码库,并且可以按照本文描述的步骤进行操作。
Demo介绍123456/|- app/ |- Dockerfile |- index.js |- package.json|- deployment.yaml
在上面的文件夹结构中,我将重点介绍将在本文中使用的重点文件:
app/Dockerfile 用于构建包含一个Node.js ...