在浏览docker文档时,我遇到了来自(https://docs.docker.com/engine/reference/commandline/run/)docker run命令选项的卷.我不理解ro, rw, and z
提供
$ docker run --volumes-from ba8c0c54f0f2:ro -i -t ubuntu pwd
的ro
选项之间的差异- 在上面的命令中,选项被替换为z
.如果有人探讨使用这些选项的不同之处,我将感激不尽.
我正在尝试将证书颁发机构(CA)文件名 - ca.crt添加到/ etc/ssl/certs,因为我遵循了本文.我复制了我的ca.crt文件ca.crt
并运行命令/etc/ssl/certs
.之后我检查了ca.crt
文件,但是我找不到我的CA. \
我无法弄清楚可能是什么问题.有人知道吗?
在浏览docker docs时,我发现docker现在使用的是libcontainer而不是LXC.有没有人知道libcontainer如何比LXC更好(如果......)?
我试图在一个Alpine Docker图像中安装Go.为此,我从下载的tar文件在这里我的高山搬运工图像内,使用以下命令将其解压缩:
tar -C/usr/local -xzf go1.10.3.linux-amd64.tar.gz
导出PATH以二进制为:
export PATH = $ PATH:/ usr/local/go/bin
然而,当我说它go version
然后它说sh: go: not found
.我对阿尔卑斯山很新.有谁知道,我在这里缺少什么?
重现步骤-
$ docker run -it alpine sh
$ wget https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz
$ tar -C /usr/local -xzf go1.10.3.linux-amd64.tar.gz
$ export PATH=$PATH:/usr/local/go/bin
$ go version
Run Code Online (Sandbox Code Playgroud) 我正在尝试连接配置为使用 ssl 的远程 nginx 服务器。
我发出了一个命令
$curl https://10.73.80.197:8080/
Run Code Online (Sandbox Code Playgroud)
但在那之后我收到错误。这是整个日志-
* Hostname was NOT found in DNS cache
* Trying 10.73.80.197...
* Connected to 10.73.80.197 (10.73.80.197) port 80 (#0)
* successfully set certificate verify locations:
* CAfile: none
CApath: /etc/ssl/certs
* SSLv3, TLS handshake, Client hello (1):
* error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
* Closing connection 0
curl: (35) error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
Run Code Online (Sandbox Code Playgroud) 我正在使用由 CA 文件签名的证书来保护 kubernetes API。为此,我添加了我的 CA 文件 ca.crt/etc/pki/ca-trust/source/anchors/
并使用该命令$ update-ca-trust
将其添加到受信任列表中。我在/etc/ssl/certs/ca-bundle.crt
文件中找到了我的证书,也在/etc/ssl/certs/ca-bundle.trust.crt
文件中找到了一些附加的 20 个(不完全是)字符的字符串。为什么有这两个文件,它们之间有什么区别?
在探索马拉松REST API时,我遇到了以下API调用给出的信息(JSON输出)中定义的两个端口号(端口和服务端口)
curl http://x.y.z.w:8080/v2/tasks | python -m json.tool | less
- 示例输出如下:
{
"tasks":[
{
"appId":"/test",
"host":"172.20.75.145",
"id":"test.1fc922a9-f4c8-11e5-8bff-005056a76a7f",
"ipAddresses":[
],
"ports":[
31313
],
"servicePorts":[
10000
],
"slaveId":"2130f59b-7289-40eb-b24d-72f0c6fe94c8-S1",
"stagedAt":"2016-03-28T09:33:26.859Z",
"startedAt":"2016-03-28T09:33:26.936Z",
"version":"2016-03-28T09:33:26.800Z"
}
]
}
Run Code Online (Sandbox Code Playgroud)
有没有人知道端口和servicePorts之间的区别?还请添加更多信息.
作为 Elasticache 的新手,我正在尝试从在不同 VPC 中运行的实例连接到它。当客户端位于基于 TLS 的 VPC 内时,它工作得很好,因为不需要传递 TLS 证书。(我们只需要向 redis-cli 传递“--tls”选项)。同样,当我尝试从另一个 VPC 中运行的 redis-cli 执行操作时,它不会工作。
注意:-在这里,我已使用 VPC 对等互连建立连接,如其文档中所述。通过将“--insecure”选项传递给 redis-cli 来验证它。
root@e142187efd96:/data# redis-cli -c --tls -h HOST -a asdfghjklzxcvbnm --insecure
警告:在命令行界面上使用带“-a”或“-u”选项的密码可能不安全。主机:6379>
openssl
我使用以下命令获得了我的 elasticache 服务器的证书-
openssl s_client -showcerts -connect HOST:6379
Run Code Online (Sandbox Code Playgroud)
将获得的证书传递给 redis-client 作为 -
redis-cli -c --tls -h HOST -a asdfghjklzxcvbnm --cacert cert.crt
Run Code Online (Sandbox Code Playgroud)
它抛出以下错误 -
Could not negotiate a TLS connection: Invalid CA Certificate File/Directory
Could not negotiate a TLS connection: Invalid CA Certificate File/Directory
not connected>
Run Code Online (Sandbox Code Playgroud)
根据我的理解,我还需要通过证书和密钥。但我不知道在哪里可以找到它以及如何通过它。
在 docker run 命令中,我们可以指定主机端口范围以绑定到 EXPOSED 容器端口。我想通过 Kubernetes 做同样的事情。有谁知道这是怎么做到的吗?我当前的 pod 定义是-
apiVersion: v1
kind: Pod
metadata:
name: nginx-testing
spec:
containers:
- name: nginx-container
image: docker.io/nginx
ports:
- containerPort: 80
hostPort: 9088
Run Code Online (Sandbox Code Playgroud)
在最后一行,我想要一系列端口号,而不是指定单个端口号。我尝试了类似的东西hostPort: 9088-9999 or 9088..9999
,但它不起作用。
我正在恢复弹性搜索集群中的快照,但在恢复之前,我需要关闭所有打开的索引.关闭我找到的索引的命令curl -XPOST "localhost:9200/twitter/_close"
只关闭一个索引twitter
.我有一长串开放索引并且每次都调用此命令,这不是一个可行的解决方案.有没有人有任何想法让它更容易?
我正在 kubernetes API 中寻找一个选项,通过它我可以强制删除正在运行的 pod。简而言之,我正在搜索以下命令的 API-
kubectl delete pod --grace-period=0 --force <pod_name>
。
我在这里指的是 kube API -
https://kubernetes.io/docs/reference/ generated/kubernetes-api/v1.14/#delete-pod-v1-core