programing

사용자 지정 컨테이너 환경 변수와 함께 Azure Webapp 배포

iphone6s 2023. 5. 27. 09:56
반응형

사용자 지정 컨테이너 환경 변수와 함께 Azure Webapp 배포

일반적으로 로컬 컴퓨터에서 도커 인스턴스를 시작합니다.docker run -t -i -e 'a=b' ...

이제 이전에 Docker Container Registry에 업로드한 사용자 지정 Docker 이미지를 배포 및 실행하고 위의 명령처럼 환경 변수를 사용하여 시작하려고 합니다.

Azure CLI for WebApps를 확인하면 일반적으로 환경 변수를 설정할 수 있습니다.하지만 제가 보기에 이 "환경 변수"는 도커 명령으로 전달되는 환경 변수가 아닌 것 같습니다. 왜 그럴까요?컨테이너 프로토콜을 확인하면 도커 컨테이너가 어떻게 시작되는지 알 수 있습니다.설정된 환경 변수가 없습니다.

Azure Container를 사용하면 다음과 같이 작동합니다.az container create ... --environment-variables a=b이러한 환경 변수는 컨테이너/도커로 전달됩니다.이것이 바로 제가 찾고 있는 웹앱입니다.

환경 변수로 시작한 고객 Docker 인스턴스를 사용하여 Azure Webapp을 구축한 경험이 있는 사람이 있습니까?

문제에 대한 해결책을 찾은 것 같습니다.

앱 설정은 런타임에 환경 변수로 앱에 주입됩니다.

애플리케이션에 대한 환경 변수를 설정해야 하는 경우 Azure 포털에서 앱 설정을 추가하기만 하면 됩니다.당신의 앱이 실행되면, 우리는 자동으로 앱 설정을 환경 변수로 프로세스에 주입할 것입니다.

CLI를 통한 작동 방식:

az webapp config appsettings set --name <mycontainername> --resource-group <myresourcegroupname> --settings a='b' 

위의 명령처럼 CLI를 통해 모든 환경 변수를 설정하는 것이 저에게 효과가 있었습니다.앱 설정에서 포털 UI를 통해서도 동일한 작업이 가능합니다.Azure가 Docker 인스턴스를 시작하는 방법을 확인하면 시작 시 설정된 환경 변수가 없음을 알 수 있습니다(예:docker run -d -p 3287:3000 --name <mycontainername -e a=b하지만 Docker 컨테이너에 로그인하고 실행하는 경우echo환경 변수에 대한 명령을 사용하면 환경 변수가 주입된 것을 볼 수 있습니다.

참고: 새 환경 변수를 주입하려면 Docker 인스턴스를 다시 시작해야 할 수도 있습니다.

언급URL : https://stackoverflow.com/questions/50681821/deploy-azure-webapp-with-custom-container-environment-variables

반응형