0

只是寻找一些关于如何在容器启动时正确调用命令的指导,在通过azure-arm-containerinstance包创建它时。关于这个特定部分的文档很少,我无法在互联网上找到任何示例。

return client.containerGroups
                    .beginCreateOrUpdate(process.env.AZURE_RESOURCE_GROUP, containerInstanceName, {
                        tags: ['server'],
                        location: process.env.AZURE_INSTANCE_LOCATION,
                        containers: [
                            {
                                image: process.env.CONTAINER_IMAGE,
                                name: containerInstanceName,
                                command: ["./some-executable","?Type=Fall?"],
                                ports: [
                                    {
                                        port: 1111,
                                        protocol: 'UDP',
                                    },
                                ],
                                resources: {
                                    requests: {
                                        cpu: Number(process.env.INSTANCE_CPU),
                                        memoryInGB: Number(process.env.INSTANCE_MEMORY),
                                    },
                                },
                            },
                        ],
                        imageRegistryCredentials: [
                            {
                                server: process.env.CONTAINER_REGISTRY_SERVER,
                                username: process.env.CONTAINER_REGISTRY_USERNAME,
                                password: process.env.CONTAINER_REGISTRY_PASSWORD,
                            },
                        ],```

Specifically this part below, is this correct? Just an array of strings? Are there any good examples anywhere? (tried both google and bing) Is this equivalent of docker's CMD ["command","argument"]?

```command: ["./some-executable","?Type=Fall?"],```
4

1 回答 1

1

对于你的问题,你做的大部分是对的,但是有几点需要注意。

一是命令属性将覆盖 Dockerfile 中的 CMD 设置。因此,如果命令不会一直保持运行,那么当命令完成执行时,容器将处于终止状态。

其次是 command 属性是一个包含字符串成员的数组,它们将像 shell 脚本一样执行。所以我建议你可以这样设置:

command: ['/bin/bash','-c','echo $PATH'],

而且你最好保持前两个字符串不变,只改变后面的字符串。

如果您还有任何问题,请告诉我。或者如果它有帮助,你可以接受它:-)

于 2019-04-15T07:01:49.530 回答