Как правильно передать команду контейнеру при использовании «azure-arm-containerinstance» из узла Azure SDK? - PullRequest
0 голосов
/ 08 апреля 2019

просто ищет некоторые инструкции о том, как правильно вызывать команду при запуске контейнера, при создании его с помощью пакета 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?"],```

1 Ответ

1 голос
/ 15 апреля 2019

С вашей проблемой большинство, что вы сделали, правильно, но есть моменты, на которые следует обратить внимание.

one - это свойство команды перезапишет настройку CMD в файле Docker. Таким образом, если команда не всегда будет продолжать выполняться, то контейнер будет в состоянии завершения, когда команда завершит выполнение.

Второе - это свойство команды представляет собой массив со строковыми элементами, которые будут выполняться как сценарий оболочки. Поэтому я предлагаю вам установить его так:

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

И вам лучше оставить первые две строки без изменений, просто измените после.

Если у вас есть еще вопросы, пожалуйста, дайте мне знать. Или, если это полезно, вы можете принять это: -)

...