Когда я запускаю докер на локальном компьютере со следующим Dockerfile :
FROM python:3
WORKDIR /app
COPY . /app
RUN apt-get update && apt-get install -y libhunspell-1.3-0
RUN pip install -r requirements.txt
EXPOSE 9876
CMD ["python","flask_compose.py"]
Он получил libhunspell из следующего репозитория ( jessie ):
Get:1 http://security.debian.org jessie/updates InRelease [94.4 kB]
Ign http://deb.debian.org jessie InRelease
Get:2 http://deb.debian.org jessie-updates InRelease [145 kB]
Get:3 http://security.debian.org jessie/updates/main amd64 Packages [623 kB]
Get:4 http://deb.debian.org jessie Release.gpg [2434 B]
Get:5 http://deb.debian.org jessie Release [148 kB]
Get:6 http://deb.debian.org jessie-updates/main amd64 Packages [23.0 kB]
Get:7 http://deb.debian.org jessie/main amd64 Packages [9064 kB]
И все нормально (сборка образа и запуск успешно).
К сожалению, когда я запускаю docker в репозитории gitlab с тем же файлом Dockerfile, он вызывает update apt-get из другого репозитория ( stretch ):
Ign:1 http://deb.debian.org/debian stretch InRelease
Get:2 http://security.debian.org/debian-security stretch/updates InRelease [94.3 kB]
Get:3 http://deb.debian.org/debian stretch-updates InRelease [91.0 kB]
Get:4 http://deb.debian.org/debian stretch Release [118 kB]
Get:5 http://deb.debian.org/debian stretch Release.gpg [2434 B]
Get:6 http://security.debian.org/debian-security stretch/updates/main amd64 Packages [440 kB]
Get:7 http://deb.debian.org/debian stretch-updates/main amd64 Packages [12.1 kB]
Get:8 http://deb.debian.org/debian stretch/main amd64 Packages [9530 kB]
Из-за этой несогласованности gitlab CI / CD выдает следующее исключение:
E: Unable to locate package libhunspell-1.3-0
E: Couldn't find any package by glob 'libhunspell-1.3-0'
E: Couldn't find any package by regex 'libhunspell-1.3-0'
The command '/bin/sh -c apt-get install -y libhunspell-1.3-0' returned a non-zero code: 100
ERROR: Job failed: exit code 100
Кто-нибудь знает, как изменить мой Dockerfile, который локальный и gitlab использует один и тот же репозиторий пакетов?
Текущий тег для python: 3 указывает на образ Debian stretch. Чтобы обновить локальную среду, запустите docker pull python:3
или запустите сборку с --pull
параметром.
Вы также можете выбрать более конкретный тег, чтобы заставить желаемое базовое изображение использовать python. См. Страницу концентратора докеров для Python, чтобы увидеть все возможные теги, например python:3-jessie
.
Эта статья взята из Интернета, укажите источник при перепечатке.
Если есть какие-либо нарушения, пожалуйста, свяжитесь с[email protected] Удалить.
я говорю два предложения