尝试学习使用dockerfile构建docker容器,并上传构建的容器到公有库。中间参考了不少网友的博文,
1、首先编写Dockerfile。
继续阅读 »
本博文使用的源程序源程序,该项目使用Maven进行管理。程序的访问地址为:http://localhost:8080/springweb/。
继续阅读 »
操作系统为ubuntu
Docker可以安装在下列ubuntu的版本上:
Ubuntu Xenial 16.04 (LTS)
Ubuntu Wily 15.10
Ubuntu Trusty 14.04 (LTS)
Ubuntu Precise 12.04 (LTS)
继续阅读 »
Supervisor (http://supervisord.org) 是一个用 Python 写的进程管理工具,可以很方便的用来启动、重启、关闭进程(不仅仅是 Python 进程)。除了对单个进程的控制,还可以同时启动、关闭多个进程,比如很不幸的服务器出问题导致所有应用程序都被杀死,此时可以用 supervisor 同时启动所有应用程序而不是一个一个地敲命令启动。
继续阅读 »
我们都知道,任何信息在计算机中都是以二进制01的形式存在,通过不同的01组合,可以表达出不同的信息,这就是编码了。我们通常所说的字节(byte),就是一个最基本的单元,它由8个0或者1来表示,可以组合出256种状态,如果每一种状态代表一个符号,那么一个字节可以编码出256个不同的符号,从00000000到11111111。
继续阅读 »
为系统设置数据库的主从复制,今天突然发现数据库在某个时间点报错后不再继续同步,需要处理一下使之继续工作。
在slave上使用show slave status\G查看一下同步的状态,发现同步出现错误。
从网上找了两种解决方式
方法一
继续阅读 »
使用 python 编写的程序,打算发布到windows平台上,希望windows上的用户需要安装python的执行环境即可执行,所以选择使用pyinstaller进行打包,发布成exe执行格式。
准备工作
** 安装pywin32
继续阅读 »
使用python编写的客户端程序,需要进行打包,所以选择使用pyinstaller进行打包。但是由于一些原因打包的程序要希望可以做到自解压缩格式,同时创建桌面快捷方式,所以就选择使用winrar进行处理。
前提说明,使用pyinstaller打包时,没有打成onefile形式,因为此类型对多进程有些影响。
继续阅读 »
python读写配置文件还是比较方便得。
基本的读取配置文件
** read(filename) 直接读取ini文件内容
** sections() 得到所有的section,并以列表的形式返回
** options(section) 得到该section的所有option
** items(section) 得到该section的所有键值对
** get(section,option) 得到section中option的值,返回为string类型
** getint(section,option) 得到section中option的值,返回为int类型,还有相应的getboolean()和getfloat
继续阅读 »
由于python实现了多线程的功能,现在为了提高计算机多核的效率,需要把多线程的程序修改成多进程的计算模式,但是发现进程和线程的执行还是有很大区别。也许之前的工作中没有关注过多线程和多进程的程序吧!
子进程和父进程的工作原理
在python中,使用os.fork()之后,在内存中把父进程的代码及内存分配情况拷贝一份生成子进程的运行空间,这样子进程的所有代码都与父进程一样,两个进程之间的运行是独立的,互不影响。
继续阅读 »