今天用docker部署一个web服务时遇到总是连不上宿主机mysql数据库的问题,报SQLSTATE[HY000] [2002] Connection refused,经过测试,宿主机用相同配置可以连上,登入docker容器内就连不上,初步判断容器内通过localhost或127.0.0.1是连不上宿主机的。具体原因和解决方法如下:
分类目录归档:研发dev
Mac Homebrew国内镜像自动安装脚本
官网的安装总是因为各种墙安装失败,用国内这个地址很好用:
centos ssh被自动断开的解决方案
使用ssh远程登陆服务器之后,过一会儿连接就会被自动断开,频繁的登陆太麻烦,这里把解决方法贴出来。
Redis主从复制原理及其演变
C++进程间通信
C++线程池ThreadPool实现解析
C++带有线程操作,异步操作,就是没有线程池。一般而言,当你的函数需要在多线程中运行,但是你又不能每来一个函数就开启一个线程,所以你就需要根据资源情况固定几个线程来执行,但会出现有的线程还没有执行完,有的又在空闲,如何分配任务呢?这时你就需要封装一个线程池来完成这些操作,有了线程池这层封装,你就只需要告诉它开启几个线程,然后直接往里塞任务就行,并通过一定的机制获取执行结果。
C++智能指针(unique_ptr 、shared_ptr、weak_ptr、auto_ptr)
一、概述
智能指针:智能指针是一个类,用来存储指针(指向动态分配对象也就是堆中对象的的指针)。
C++的指针*与引用&
简单理解下:
C++内存管理
Cmake—-编写CMakeLists.txt文件编译C/C++程序
1.CMake编译原理
如何使用CA证书公钥加密、私钥解密文件
在日常开发时总是会遇到涉及加解密的场景,通常简单的字符串加解密我们会直接使用AES对称加密(密钥长度>=128bits)来实现,本文主要讲解如何使用CA证书实现对大文件的加解密。
多线程std::cout乱序问题解决方法
问题描述
在C++多线程编程中,开发者往往使用cout来打印一些信息,但是往往被人忽略的是,cout在使用时可能会存在线程之间的打印信息乱串的问题,这个问题的原因是”<<“这个操作符是线程不安全的,会造成竞争问题,当采用多个<<拼接时,打印可能在<<时中断,例如下边的写法:
ssh免密登陆linux
日常经常通过mars机器访问vpn机器,会频繁需要输入vpn机器的密码,如何实现ssh免密登陆呢?
POSIX可移植操作系统接口-概述
使用nc命令传输文件
在某些特殊情况下,我们从一台机器向另一台机器传输文件时会遇到受限于堡垒机或scp被禁等情况,这里分享一个使用nc传输大文件的方法。
机器人操作系统ROS—树莓派Pi4环境(Raspberry Pi OS + ROS Melodic)
华硕ROG安装ubuntu18.4+CUDA10.0+CUDNN7.4
如何防止客户端的请求被嗅探/钓鱼

本文主要讲解物联网设备、手机APP等client如何避免被嗅探/钓鱼。
如何使服务具备高可用性
上次介绍了《如何搭建高可用Web集群》,有不少同学反馈让我继续发些高可用相关的内容。本文将继续高可用系列内容,介绍一下SRE和架构师角度对『实现高可用性』的理解。
如何搭建高可用Web集群

前段时间有同学问我一个高可用集群到底是怎么建设的,这是一个比较广泛的话题,首先要清楚到底什么叫『高可用集群』;其次,常见的集群又分很多种,例如WEB集群、DB集群、大数据集群等,他们既有相似的地方,又因应用场景不同导致集群架构设计上有所不同。本文先简要介绍下『一个典型的Web集群是如何从普通的单点服务一步一步演变为一个高可用集群的』。