我一直在尝试分析用 cobra 构建的 cli 工具的堆使用情况。该pprof
工具显示如下,
Flat Flat% Sum% Cum Cum% Name Inlined?
1.58GB 49.98% 49.98% 1.58GB 49.98% os.ReadFile
1.58GB 49.98% 99.95% 1.58GB 50.02% github.com/bytedance/sonic.(*frozenConfig).Unmarshal
0 0.00% 99.95% 3.16GB 100.00% runtime.main
0 0.00% 99.95% 3.16GB 100.00% main.main
0 0.00% 99.95% 3.16GB 100.00% github.com/spf13/cobra.(*Command).execute
0 0.00% 99.95% 3.16GB 100.00% github.com/spf13/cobra.(*Command).ExecuteC
0 0.00% 99.95% 3.16GB 100.00% github.com/spf13/cobra.(*Command).Execute (inline)
0 0.00% 99.95% 3.16GB 100.00% github.com/mirantis/broker/misc.ParseUcpNodesInspect
0 0.00% 99.95% 3.16GB 100.00% github.com/mirantis/broker/cmd.glob..func3
0 0.00% 99.95% 3.16GB 100.00% github.com/mirantis/broker/cmd.getInfos
0 0.00% 99.95% 3.16GB 100.00% …
Run Code Online (Sandbox Code Playgroud) 我想在CentOS 7容器上启动httpd服务.但是systemctl命令在容器中不起作用.在CentOS 6中,我可以通过简单地使用/etc/init.d/apachectl -d
命令启动httpd .但是在CentOS 7中我找不到任何apachectl文件/*/systemd/
.
那么如何在CentOS 7容器中启动httpd服务呢?
当我想检查桥驱动程序连接到的容器列表时,我执行以下操作,
docker network inspect br01 --format='{{range .Containers}}{{println .Name}}{{end}}'
Run Code Online (Sandbox Code Playgroud)
给出以下输出,
network-test01
network-test02
network-test03
Run Code Online (Sandbox Code Playgroud)
但是如何做同样的事情来列出容器连接到的网络驱动程序呢?
以下是 docker 检查,
.....
"Networks": {
"br01": {
"IPAMConfig": {},
"Links": null,
........
},
"bridge": {
"IPAMConfig": null,
.....
}
.....
Run Code Online (Sandbox Code Playgroud)
我只想列出如下网络,
br01
bridge
Run Code Online (Sandbox Code Playgroud)
我已经尝试了以下方法,但由于我对 go 模板的了解有限,无法正确使用该模板。
docker inspect network-test01 --format "{{.NetworkSettings.Networks}}"
Run Code Online (Sandbox Code Playgroud)
结果如下,
map[br01:0xc0000f6180 bridge:0xc0000f6cc0]
Run Code Online (Sandbox Code Playgroud) 我创建了一些数据块来查找合适的 AMI。我有 4 个数据块来查找基于 4 个操作系统的 4 个 AMI。例子,
data "aws_ami" "centos" {
owners = ["123456789"]
most_recent = true
filter {
name = "name"
values = ["CentOS*${var.os-version}*x86_64"]
}
}
data "aws_ami" "suse" {
owners = ["amazon"]
most_recent = true
filter {
name = "name"
values = ["suse-sles-${var.os-version}-sp*-v????????-hvm-ssd-x86_64"]
}
}
Run Code Online (Sandbox Code Playgroud)
我像下面这样称呼他们ami_id=data.${os_name}.image-id
所以我想要的是只运行已经被调用的数据块。如果用户选择“suse”,则仅运行 suse 数据块。不是所有的人。现在这是一个问题,因为用户根据操作系统选择版本。例如,16.04 仅适用于 ubuntu,不适用于其他任何版本,因此其他数据块会抛出如下异常,
Error: Your query returned no results. Please change your search criteria and try again.
on main.tf line 79, in data "aws_ami" "suse":
79: data …
Run Code Online (Sandbox Code Playgroud)