web-dev-qa-db-fra.com

Docker: Comment ajouter des backports à sources.list via Dockerfile?

J'ai besoin d'installer ffmeg sur Debian Jessie via Dockerfile.

Debian recommande d'utiliser des rétroportages. Mais comment faire cela dans mon Dockerfile?

Ajouter

deb http://httpredir.debian.org/debian jessie-backports main non-free
deb-src http://httpredir.debian.org/debian jessie-backports main non-free

à

/etc/apt/sources.list

Voici à quoi ressemble mon Dockerfile:

FROM node:4.8-slim

COPY . /

## How to add backports to list ???

RUN apt-get update && apt-get install ffmpeg && ffmpeg -i

RUN (cd programs/server && npm install --silent)
CMD ["node", "main.js"]
7
user3142695

Vous pouvez le faire en ajoutant ci-dessous

RUN printf "deb http://httpredir.debian.org/debian jessie-backports main non-free\ndeb-src http://httpredir.debian.org/debian jessie-backports main non-free" > /etc/apt/sources.list.d/backports.list
16
Tarun Lalwani

À la recherche du même problème, j'ai vu que Debian fournit des images Docker pour les versions backport. Vous n'avez donc pas besoin de le faire vous-même. Par exemple, vous pouvez avoir un Dockerfile jessie backports En utilisant la commande FROM debian:jessie-backports.

En regardant ce que l'un des fichiers officiels de backport de Debian pour avoir la version de backport, cela se résume à quelque chose de similaire à la réponse de Tarun, en utilisant la distribution de base puis en ajoutant les backports à un backports.list, c'est à dire:

FROM debian:jessie
RUN echo 'deb http://deb.debian.org/debian jessie-backports main' > /etc/apt/sources.list.d/backports.list
2
Eduardo