| 分类: docker |
由于工作需要,需要给Docker设置固定IP,在网上的查找了一些资料,自己试着实践一下,留个笔记。
经常用Docker模拟项目在生产环境中的部署,往往需要同时开好几台Docker容器,而且有时安装的软件需要绑定Docker局域网中的其他容器,如 MongoDB 副本集部署的时候,就需要绑定其他容器的内网IP。
但是,Docker 每次重启后,容器的IP地址会变化,查询了资料,Docker是支持设置固定IP的。
Docker 默认网络
Docker安装后,默认
| 分类: docker |
| 分类: selenium |
1.Thread.sleep()这个方法是最不推荐的,是用线程等待的方式来实现,每次元素出现在页面的时间不一样,如果设置的时间长了,白白浪费了时间,如果设置的时间短了,脚本依然会报没有找到元素的错误。
2.driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS);这个方法实际上跟上面那个是一样的,也不推荐
3.driver.manage().timeouts().implicitlyWait(10,
TimeUnit.SECONDS);这个也是WebDriver的一个方法,是每个driver自己去实现设置超时时间,在当前页面找元素的时候,首先去找web元素,如果没有找到,判断时间否超超过设置的时间,如果没有超过,则再次找这个元素,直到找到元素或者时间超过设置时间。那我们就可以设定一个比较长的超时时间,但同时也不会让程序白白的等待。
这种方式就相对来说灵活一点了,但是有个问题,这个设置是针对全局的,并不是所有的元素都需要等
| 分类: python |
| 分类: python |
标签:
杂谈 |
分类: linux |
在同一个目录下有两个脚本,a.sh和b.sh,脚本内容如下:
a.sh:
echo 'test for a'
source b.sh
1
2
b.sh:
echo 'test for b'
1
使用bash a.sh 返回正确结果。
而使用sh a.sh返回结果如下:
test for a
a.sh: line 2: source: b.sh: file not found
明显脚本运行过程中,没有找到文件b.sh,将a.sh脚本内容修改为如下:
echo 'test for a'
source ./b.sh
1
2
再次使用sh a.sh 又可以正常执行了,这是为什么呢?
问题就出在sh与bash执行脚本的区别。
首先要明确重要的一点:/bin/sh 虽然是/bin/bash的软连接,但这个软连接很特殊,它并不仅仅只是一个链接,sh不等于bash。如果你在CentOS下使用man sh可以找到这句话:
Bash can be configured to be POSIX-conformant by default.
这说明sh 等于 bash -posix 也就是说使用sh来执行一个脚本,所以使用sh a.sh的效果等同于bash -posix a.sh,虽然大部分情况下等于使用bash来执行脚本,但启用了bash的posix模式,也可以理解为posix标准。那么就要遵循这个标准
| 分类: c |
标签:
杂谈 |
分类: linux |
tr -c -d -s ['string1_to_translate_from']
['string2_to_translate_to'] < input-file
这里:
-c 用字符串1中字符集的补集替换此字符集,要求字符集为ASCII。
-d 删除字符串1中所有输入字符。
-s 删除所有重复出现字符序列,只保留第一个;即将重复出现字符串压缩为一个字符串。
input-file是转换文件名。虽然可以使用其他格式输入,但这种格式最常用。
2、字符范围
指定字符串1或字符串2的内容时,只能使用单