root

docker安装常用软件,没有比我这里更全了!

笑着哭i 提交于 2020-01-07 02:24:21
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。下面就介绍一些常用软件的安装,后期在补充更多! 大家可以关注公众号,程序员社群 docker安装mysql docker pull registry.cn-hangzhou.aliyuncs.com/wanggw/mysql:8.0 docker run --name mysql8 -d --restart=unless-stopped –log-driver json-file --log-opt max-size=1000 –log-opt max-file=1 -p 3307:3306 -e MYSQL_ROOT_PASSWORD=“root” -e TZ=“Asia/Shanghai” -v /data/wang/mysql/data/:/var/lib/mysql registry.cn-hangzhou.aliyuncs.com/wanggw/mysql:8.0 –character-set-server=utf8 --collation-server=utf8_general_ci docker 安装nginx docker pull

读取XML文件 Dom4j

家住魔仙堡 提交于 2020-01-07 01:09:06
读取xml public class Dom4jDemo { public static void main(String[] args) throws Exception{ /* * 使用 Dom4j API 读取XML文件 */ SAXReader reader=new SAXReader(); File file = new File("books.xml"); //利用SAXReader读取books.xml,如果读取成功就会创建一个dom对象 //其结构是树形的。如果读取失败则抛出异常: xml格式,文件找不到 Document doc=reader.read(file); //检查读取的结果 //System.out.println(doc.asXML()); //找到根元素, 作为访问入口 Element root = doc.getRootElement(); //root 就是 books 元素 //System.out.println(root.asXML()); //目标:显示全部的书名 //1. 获取全部子元素API List<Element> list=root.elements(); //for(Element e:list) { // System.out.println(e.asXML()); //} //2. 获取全部指定名称的子元素 list =

打印二叉树的边界节点

自闭症网瘾萝莉.ら 提交于 2020-01-06 21:33:06
问题描述 从根节点起,逆时针输出二叉树所有的边界节点: 根节点 每层最左侧节点 每层最右侧节点 底层的所有叶子节点,比如14、15等。 上述的结果是: 1 2 4 7 11 13 14 15 16 12 10 6 3 空间限制是 O ( h ) O(h) O ( h ) ,时间限制是 O ( N ) O(N) O ( N ) , h h h 是树的高度, N N N 是节点的个数。 思路和代码 需要的节点分为三种: 左边界:一层中最左侧的节点,1, 2, 4, 7, 11, 13;为了方便,根节点算左边界 右边界:一层中最右侧的节点,16, 12, 10, 6, 3 底层叶子节点:叶子节点,而且不属于左右边界,14, 15 根据节点的特性,在 前序遍历 的时候, 同一层中 最先访问到的节点是左边界节点;最后访问到的是右边界节点。根据这个特性,可以计算左右边界。 如果一个节点没有左右孩子,而且不是左右边界,则该节点一定是底层叶子节点。 问题的难点在于,怎样在 O ( h ) O(h) O ( h ) 的空间和 O ( N ) O(N) O ( N ) 的时间中计算左右边界;因为底层叶子节点求解,在叶子节点中排除左右边界即可。 我们建立一个数组 edgeNodes[H][2] , H 是树的高度。 edgeNodes[h][0] 表示这层的左边界, edgeNodes[h][0]

【docker系列】三台阿里云服务器搭建zookeeper集群+kafka集群,并且测试

风流意气都作罢 提交于 2020-01-06 21:28:00
因为存在docker容器 跨主机网络通信,所以可以先看这一篇: 【docker系列】解决阿里云多主机服务器,docker overlay 跨主机网络通信环境 环境: 三台为:11.11.11.11 、11.11.11.22 、11.11.11.33 每台主机部署一个zookeeper节点,一个kafka节点,共三个zookeeper节点,三个kafka节点, 容器之间的网络采用overlay模式 一、创建 overlay 网络 # 创建 overlay 网卡,用于 集群服务的网卡设置(只需要在 master 节点上创建,从节点自然会获取) docker network create --driver overlay --subnet=15.0.0.0/24 --gateway=15.0.0.254 --attachable ccluster-overlay-elk 二、创建并运行容器 1、创建容器 [root@master conf]# sudo docker run -dit \ --net cluster-overlay-elk \ --ip 15.0.0.250 \ --restart=always \ --privileged=true \ --hostname=hadoop_zookeeper \ --name=hadoop-zookeeper-one \ -p

布局管理之pack布局

 ̄綄美尐妖づ 提交于 2020-01-06 20:39:28
Tkinter pack常用选项及功能 side 设置组件的添加位置,可以设置为 TOP、BOTTOM、LEFT 或 RIGHT。 expand 该 bool 值指定当父容器增大时是否拉伸组件所占位置大小。 fill 当expand=1,设置组件是否填充组件变化后的位置。该选项支持 NONE、X、Y、BOTH 四个值,其中 NONE 表示不填充, BOTH 表示沿着两个方向填充。 expand、fill和side是相互影响的,fill和expand取决于父容器的位置。 anchor 控件对齐方式:N\S\W\E\NW\SW\SE\NE 默认CENTER。 通用属性: ipadx 指定组件在 x 方向(水平)上的内部留白。按钮的边框与文字距离 ipady 指定组件在 y 方向(水平)上的内部留白。 padx 指定组件在 x 方向(水平)上与其他组件的间距。两个按钮之间距离 pady 指定组件在 y 方向(水平)上与其他组件的间距。 from tkinter import * root = Tk() root.title('pack布局') root.geometry("250x250+30+30") #side和fill的使用 fm1 = Frame(root) fm1.pack(side=TOP,fill=X) fm2 = Frame(root) fm2.pack(side=TOP

搭建一个支持HTTPS的私有DOCKER Registry

╄→гoц情女王★ 提交于 2020-01-06 17:08:09
搭建一个支持HTTP的私有DOCKER Registry 可参考文章: http://blog.csdn.net/fgf00/article/details/52040492 测试可以用HTTP访问一下: http://IP:PORT/v2/ 如果要搭建一个支持HTTPS的私有DOCKER Registry,可参考文章: http://www.cnblogs.com/xcloudbiz/articles/5526262.html 制作证书,可采用OPENSSL 在ROOT下执行,把证书保存在/root/certs目录下 openssl req -newkey rsa:2048 -nodes -sha256 -keyout /root/certs/domain.key -x509 -days 365 -out /root/certs/domain.crt 本实验采用的域名是:mydockerhub.com 把证书COPY到: 自签名证书,使用Docker Registry的Docker机需要将domain.crt拷贝到 /etc/docker/certs.d/[docker_registry_domain]/ca.crt, cp certs/domain.crt /etc/docker/certs.d/mydockerhub.com:5000/ca.crt 将domain

Leetcode(226)之翻转二叉树

亡梦爱人 提交于 2020-01-06 16:39:05
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 题目描述: 解题思路: 简单的遍历加递归。 代码: public TreeNode InvertTree(TreeNode root) { if (root == null) return null; TreeNode temp = root.left; root.left = root.right; root.right = temp; InvertTree(root.left); InvertTree(root.right); return root; } 来源: oschina 链接: https://my.oschina.net/u/3860932/blog/3152805

Fedora以root用户自动登陆

本小妞迷上赌 提交于 2020-01-06 16:32:20
目录 Fedora以root用户自动登陆 参考 配置自动登陆 Fedora以root用户自动登陆 Fedora Workstation Version: 31 😄 Written by Zak Zhu 参考 jonathanzhan/centos_7自动以root身份登录gnome桌面( https://blog.csdn.net/whatlookingfor/article/details/52382479 ) archlinux wiki: GDM ( https://wiki.archlinux.org/index.php/GDM_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)#%E5%9C%A8%E7%99%BB%E5%BD%95%E5%88%97%E8%A1%A8%E4%B8%AD%E9%9A%90%E8%97%8F%E7%94%A8%E6%88%B7 ) gnome help administrators: Configuration ( https://help.gnome.org/admin/gdm/stable/configuration.html.en#daemonsection ) 配置自动登陆 添加GDM配置如下, 重启后生效 vim /etc/gdm/custom.conf [daemon]

执行root.sh报错:CLSRSC-196: ACFS driver install action

跟風遠走 提交于 2020-01-06 16:09:53
oracle 19c已经发布了快一年了,在AIX和Linux上面安装的次数也不少了,安装的方法也层出不穷,最常用的就是图形化了,可以避免静默安装发现不了的问题。今天帮助一位朋友安装oracle 19c rac,在执行root.sh的时候,报错了。下面就详细分析下: 执行root.sh,屏幕打印日志,显示在安装acfs的时候,报错failed了, 前台日志只是显示failed,并没有具体的报错信息,我们在相关路径下面查找root.sh的日志,路径在前台日志重有显示,为/u01/app/grid/crsdata/主机名/crsconfig/rootcrs_主机名_日期.log。直接搜索failed,我们可以看到相关报错为: 通过这个报错信息我们大概可以看出,是由于ACFS在安装的过程中发现了以前的版本,在uninstall的过程报错,又无法安装新的acfs,所以导致安装失败。 查看mos,发现有篇文章和这种情况相似,只是版本不同:AIX: ROOT.SH FAILS WITH CLSRSC-196: ACFS DRIVER INSTALL ACTIONS FAILED (Doc ID 1929899.1)。 经询问,此平台为AIX,之前安装的12.2.0.2,安装19c没有机器,所以rm -rf $GRID_HOME,直接删除相关目录来进行卸载,没有使用正常的卸载命令

Python去除文件中的重复行

倖福魔咒の 提交于 2020-01-06 14:55:22
Python去除文件中的重复行 PS: 也是从网上各个帖子中学习的Python,因此代码的格式以及内容有粘贴网上其他大神的代码,如有侵权请告知删除 界面示例 #!/usr/bin/python # -*- coding: UTF-8 -*- from tkinter import * import tkinter . filedialog root = Tk ( ) root . title ( '去除文件重复行' ) root . geometry ( '300x200' ) FileName1 = "" FileName2 = "" def Button1Anwser ( ) : global FileName1 Path = Label ( root , text = '' ) FileName1 = tkinter . filedialog . askopenfilename ( ) Path . config ( text = FileName1 ) Path . grid ( row = 1 , column = 0 , sticky = W ) def Button2Anwser ( ) : global FileName2 Path = Label ( root , text = '' ) FileName2 = tkinter . filedialog .