使用Azure DevOps在Azure应用程序服务中永久安装Linux依赖项



我创建了一个用于部署Django应用程序的CI/CD DevOps管道。部署完成后,我手动转到azure应用程序服务中的SSH,以执行以下Linux依赖项

apt-get update && apt install -y libxrender1 libxext6
apt-get install -y libfontconfig1

每次部署后,都会自动删除此程序包。有没有办法永久安装这些Linux依赖项?

我想您正在使用Azure应用服务Linux。Azure应用服务Linux使用其自己的自定义Docker映像来托管您的应用程序。

不幸的是,您无法自定义Azure Linux应用程序服务Docker映像,但您可以将应用程序服务Linux容器与您自己的自定义Docker映像一起使用,该映像包括您的Linux依赖项。

https://github.com/Azure-Samples/docker-django-webapp-linux

Dockerfile示例:

# For more information, please refer to https://aka.ms/vscode-docker-python
FROM python:3.8-slim
EXPOSE 8000
EXPOSE 27017
# Keeps Python from generating .pyc files in the container
ENV PYTHONDONTWRITEBYTECODE=1
# Turns off buffering for easier container logging
ENV PYTHONUNBUFFERED=1
# Install pip requirements
COPY requirements.txt .
RUN python -m pip install -r requirements.txt 
&& apt-get update && apt install -y libxrender1 libxext6 
&& apt-get install -y libfontconfig1
WORKDIR /app
COPY . /app
RUN chmod u+x /usr/local/bin/init.sh
EXPOSE 8000
ENTRYPOINT ["init.sh"]

init.sh示例:

#!/bin/bash
set -e
python /app/manage.py runserver 0.0.0.0:8000

https://learn.microsoft.com/en-us/azure/developer/python/tutorial-containerize-deploy-python-web-app-azure-01

相关内容

  • 没有找到相关文章

最新更新