spbgovbr/sei-docker

Por que não usar dnf?

RenatoExpert opened this issue · 1 comments

Problema

Não é boa prática, como é contra-indicado e de nenhuma vantagem, registrar arquivos binários usando git. No caso desses pacotes rpm, basta instalá-los usando dnf

ADD https://github.com/spbgovbr/sei-docker-binarios/raw/main/pacoteslinux/msttcore-fonts-2.0-3.noarch.rpm \
https://github.com/spbgovbr/sei-docker-binarios/raw/main/pacoteslinux/oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm \
https://github.com/spbgovbr/sei-docker-binarios/raw/main/pacoteslinux/oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm \
https://github.com/spbgovbr/sei-docker-binarios/raw/main/pacoteslinux/oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.x86_64.rpm \
https://github.com/spbgovbr/sei-docker-binarios/raw/main/pacoteslinux/uploadprogress.tgz /sei/instaladores/
#https://github.com/spbgovbr/sei-docker-binarios/raw/main/pacoteslinux/libsodium-1.0.18-stable.tar.gz /sei/instaladores/

Solução

Com o dnf, é possível instalar pacotes com versões especificas, não somente a mais atual.

Exemplo de comando:

You can install using a specific name-version as described in the man page:
dnf install tito-0.5.6-1.fc22

Extraído de
https://unix.stackexchange.com/questions/266888/can-i-force-dnf-to-install-an-old-version-of-a-package

Exemplo em DockerFile

FROM centos:8

LABEL maintainer="admin@example1.com"
RUN dnf update -y
RUN dnf upgrade -y
RUN dnf install epel-release -y
RUN dnf install nginx -y
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

Extraído de
https://www.cyberithub.com/how-to-build-docker-image-from-dockerfile-in-centos-8-example/#Step_2_Write_Your_Docker_File

Olá @RenatoExpert,
a escolha por este metodo é que na época não existia pacotes oficiais da oracle em repositórios sem senha. Pelo menos não achei.

De qualquer forma ai no seu repositório local vc pode implementar usando o dnf. Aqui nesse repo, como está escrito é um ambiente de teste e serve como um ponto de partida para quem ainda não tem nada. Talvez algum dia implementemos a sua sugestão usando o dnf, mas teria que ser antes priorizado internamente pela nossa chefia.