物联网学习日记13

1.dns
解析:自定义DNS服务器。可以是一个值,也可以是一个列表。

dns:8.8.8.8
dns:
    - 8.8.8.8   
      - 9.9.9.9

2.links
解析:接到其它服务中的容器。使用服务名称[同时作为别名],或者"服务名称:服务别名":

links:
    - db
    - db:database
    - redis

3.net
解析:设置网络模式。

net: "bridge"
net: "none"
net: "host"

4.cap_add和cap_drop
解析:指定容器的内核能力[capacity]分配。
[1]让容器拥有所有能力可以指定为:cap_add: - ALL
[2]去掉NET_ADMIN能力可以指定为:cap_drop: - NET_ADMIN

5.docker pause
解析:暂停容器中所有的进程。

6.docker unpause
解析:恢复容器中所有的进程。

7.bridge
解析:
[1]容器的默认网络,可以配置后与宿主机通信从而与互联网互联互通
[2]每当使用docker run启动一个容器时,这个容器都会有一个默认的网络
[3]每个container通过docker0进行通信
[4]docker0[虚拟交换机]是安装docker的时候默认创建的
[5]默认创建的容器会绑到docker0
[6]每当开启一个容器时,会生成一个对应的veth*的网络接口,用来连接container和docker0

8.shell read
解析:
[1]-a:将分裂后的字段依次存储到指定的数组中,存储的起始位置从数组的index=0开始。
[2]-d:指定读取行的结束符号。默认结束符号为换行符。
[3]-n:限制读取N个字符就自动结束读取,如果没有读满N个字符就按下回车或遇到换行符,则也会结束读取。
[4]-N:严格要求读满N个字符才自动结束读取,即使中途按下了回车或遇到了换行符也不结束。其中换行符或回车算一个字符。
[5]-p:给出提示符。默认不支持"\n"换行,要换行需要特殊处理,见下文示例。例如,"-p请输入密码:"。
[6]-r:禁止反斜线的转义功能。这意味着""会变成文本的一部分。
[7]-s:静默模式。输入的内容不会回显在屏幕上。
[8]-t:给出超时时间,在达到超时时间时,read退出并返回错误。也就是说不会读取任何内容,即使已经输入了一部分。
[9]-u:从给定文件描述符[fd=N]中读取数据。

9.shell 传递参数
解析:可以在执行shell脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。

$ chmod +x test.sh 
$ ./test.sh 1 2 3
Shell 传递参数实例!
执行的文件名:./test.sh
第一个参数为:1
第二个参数为:2
第三个参数为:3

10.sed -i
解析:直接修改读取的文件内容,而不是输出到终端。

sed -i 's/原字符串/新字符串/' /home/1.txt
sed -i 's/原字符串/新字符串/g' /home/1.txt

11.if [ -n str1 ]
解析:当串的长度大于0时为真[串非空]。

12.if [ -z str1 ]
解析:当串的长度为0时为真[空串]。

13.whoami命令
解析:命令用于显示自身用户名称。

14.YAML中的纯量
解析:纯量是最基本的,不可再分的值。
[1]字符串
[2]布尔值
[3]整数
[4]浮点数
[5]Null
[6]时间
[7]日期

15.YAML中的引用
解析:&用来建立锚点[defaults],<<表示合并到当前数据,*用来引用锚点。

defaults: &defaults
  adapter:  postgres
  host:     localhost

development:
  database: myapp_development
  <<: *defaults

test:
  database: myapp_test
  <<: *defaults

相当于:

defaults:
  adapter:  postgres
  host:     localhost

development:
  database: myapp_development
  adapter:  postgres
  host:     localhost

test:
  database: myapp_test
  adapter:  postgres
  host:     localhost

16.YAML支持的数据结构
解析:
[1]对象:键值对的集合,又称为映射[mapping]/哈希[hashes]/字典[dictionary]
[2]数组:一组按次序排列的值,又称为序列[sequence]/列表[list]
[3]纯量[scalars]:单个的、不可再分的值

17.cat > file << EOF用法
解析:用来创建文件,在这之后输入任何东西都是在文件中的,输入完成之后EOF结尾代表结束。

cat > 1.txt <<EOF
1
2
3
4
5
EOF

说明:创建1.txt文件,文件中的内容是1 2 3 4 5。

18.Ubuntu 18.04.4 LTS
解析:Bionic Beaver。

19.ubuntu中remove,autoremove,purge区别
解析:
[1]remove:卸载软件包
[2]autoremove[慎用]:卸载所有自动安装且不再使用的软件包
[3]purge:卸载并清除软件包的配置

20.shell脚本中if的"-e,-d,-f"
解析:
[1]-e filename:如果filename存在,则为真
[2]-d filename:如果filename为目录,则为真
[3]-f filename:如果filename为常规文件,则为真
[4]-L filename:如果filename为符号链接,则为真
[5]-r filename:如果filename可读,则为真
[6]-w filename:如果filename可写,则为真
[7]-x filename:如果filename可执行,则为真
[8]-s filename:如果文件长度不为0,则为真
[9]-h filename:如果文件是软链接,则为真
[10]filename1 -nt filename2:如果filename1比filename2新,则为真
[11]filename1 -ot filename2:如果filename1比filename2旧,则为真

21.shell if [ -n ]
解析:
[1]if [ str1 = str2 ]:当两个串有相同内容、长度时为真
[2]if [ str1 != str2 ]:当串str1和str2不等时为真
[3]if [ -n str1 ]:当串的长度大于0时为真[串非空]
[4]if [ -z str1 ]:当串的长度为0时为真[空串]
[5]if [ str1 ]:当串str1为非空时为真

22.shell中’>'与’>>’区别
解析:
[1]’>‘为创建:echo “hello shell” > out.txt
[2]’>>'为追加:echo “hello shell” >> out.txt

23.net.core.somaxconn
解析:net.core.somaxconn是Linux中的一个kernel参数,表示socket监听的backlog上限。

24.vm.overcommit_memory
解析:设置内存分配策略。其值可为0,1,2。如下所示:
[1]0:表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
[2]1:表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
[3]2:表示内核允许分配超过所有物理内存和交换空间总和的内存。

25.rules engine微服务
解析:rules engine微服务自身是一个export service client,当启动时会将自动注册成为一个接收core data的server。
说明:可以直接将rules engine server连接到core data。

参考文献:
[1]Docker入门之docker-compose:https://www.cnblogs.com/minseo/p/11548177.html
[2]docker-compose build:https://docs.docker.com/compose/reference/build/

发布了400 篇原创文章 · 获赞 423 · 访问量 38万+

猜你喜欢

转载自blog.csdn.net/shengshengwang/article/details/104670890