我正在尝试将Mongo作为容器组的一部分部署到Azure容器实例上。为此,我使用一个带有文件共享的存储帐户来持久化mongo数据。无法将卷装载到默认位置,因此我将其装载到其他位置,并使用--db path标记启动mongod。使用下面的CLI full命令,这一切都可以正常工作。
然而,当我想将所有这些命令转换为YAML配置文件时,它就不起作用了。Mongo崩溃,出现未知文件或目录错误。如果在没有db path标志的情况下启动容器,但仍装载卷,则可以将其执行到正在运行的容器中,并查看卷是否存在并已连接。我甚至可以通过Azure门户在共享中手动创建文件夹,并看到它们出现在容器中。
文档和html" target="_blank">示例有点缺乏,尤其是基于YAML的示例。与container组的最大区别是必须定义一个与volumeMounts属性使用的容器分离的命名卷。这只是一个语法错误吗?CLI命令和YAML在某种程度上是否不等效?
CLI命令
az container create
--resource-group rsenu-hassPilots-group
--name mongo
--image mongo
--azure-file-volume-account-name <account>
--azure-file-volume-account-key "<key>" --azure-file-volume-share-name mongodata
--azure-file-volume-mount-path "/data/mongoaz"
--ports 27017
--cpu 1
--ip-address public
--memory 1.5
--os-type Linux
--protocol TCP
--command-line "mongod --dbpath=/data/mongoaz"
YAML配置
apiVersion: 2018-10-01
location: uksouth
name: trustNewArtGroup
properties:
containers:
- name: mongo
properties:
image: mongo:4.2.3
resources:
requests:
cpu: 1
memoryInGb: 1.5
ports:
- port: 27017
volumeMounts:
- name: database
mountPath: /data/azstorage
environmentVariables:
- name: 'MONGO_INITDB_DATABASE'
value: 'trust-new-art-db'
command:
- "mongod --dbpath=/data/azstorage"
osType: Linux
ipAddress:
type: Public
dnsNameLabel: trustnewart
ports:
- protocol: tcp
port: '27017'
volumes:
- name: database
azureFile:
sharename: mongodata
storageAccountName: <account>
storageAccountKey: <key>
tags: null
type: Microsoft.ContainerInstance/containerGroups
在文档中这一页的帮助下,我发现这是一个语法问题。覆盖YAML配置文件中入口点的正确方法如下:
command: ['mongod', '--dbpath', '/data/azstorage']
我有一个完整的CLI命令来创建Azure容器实例。从该命令创建实例效果良好。现在,我正在考虑将所有这些命令参数放置在yaml文件中。 我已经检查了以下帮助我启动的链接:将Azure文件卷装载到容器 我的问题如下: 1-在我的命令中,我需要从Azure容器注册表中获取图像,我们需要为其传递服务器名称和密码。如何在yaml文件中定义此条目? 2-我有一套要设置的环境,我应该用哪种语法设置它们? 谢谢你
问题内容: 我正在尝试通过HTTP将SHA256哈希字符串发送到服务器,在服务器上我想通过执行SHA256哈希并验证两者的匹配来进行身份验证。出于测试目的,我使用相同的字符串,但是结果不匹配。可以使用base64_encode调用的默认编码方案吗?谢谢。 在PHP中,我正在做: 在Go中,我正在做 问题答案: 过了一会儿我就知道了。我都将其标准化为十六进制编码。为此,我将代码更改如下: PHP:
我试图在docker容器上运行我的java应用程序。我在本地使用tomcat服务器,它工作正常。我是java/tomcat/docker的新手,所以我可能会错过一些非常简单的东西,但我认为只要将我的本地war文件指向就足够了。 这是我的docker-compose.yml 我可以看到文件,但我无法访问我的应用程序。我的本地主机仍然显示tomcat页面,而不是从本地安装的tomcat运行时看到的“H
问题内容: 当在PHP中对多维数组进行json_encode编码时,我只是通过命名一个数组而不是不命名它们来注意到一个不同的输出。例如: 给出多个json对象的单个数组 而只需为中间数组分配一个名称 创建一个带有多个json对象的单个json对象 为什么第一个选项不返回与第二个执行点相同的结果,并用“ 1”代替“ secondarray” 问题答案: 在JSON中,只有每个数组都有数字键,而对象则
因此,我试图遵循这篇关于如何使用Spring为html文件提供服务的指南:http://spring.io/guides/gs/serving-web-content/ 映射: 使用@Controller引发错误: 编辑:
这意味着:在容器中运行一个bash命令,将一些文本推入容器中的文件。 现在,Azure容器实例表示您不能传递:https://docs.microsoft.com/en-us/Azure/container-instances/container-instances-exec的命令参数 那么,在Azure的自动化构建/发布过程中,您将如何构建、发布和配置容器?