De acordo com as melhores práticas do docker , devo colocar a atualização e instalá-la em a mesma linha RUN. Desta forma, o cache será atualizado corretamente.
Após essas alterações, as coisas estão funcionando.
Eu tenho um script que está funcionando bem até agora e, de repente, recebo a seguinte mensagem:
Get:81 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 python-software-properties all 0.96.20.7 [20.7 kB]
Get:82 http://archive.ubuntu.com/ubuntu xenial/main amd64 python3-pycurl amd64 7.43.0-1ubuntu1 [42.3 kB]
Get:83 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 python3-software-properties all 0.96.20.7 [20.3 kB]
Get:84 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 software-properties-common all 0.96.20.7 [9452 B]
Get:85 http://archive.ubuntu.com/ubuntu xenial/main amd64 xz-utils amd64 5.1.1alpha+20120614-2ubuntu2 [78.8 kB]
Err:86 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 unattended-upgrades all 0.90ubuntu0.7
404 Not Found [IP: 91.189.88.161 80]
Fetched 23.7 MB in 1s (14.8 MB/s)
E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/p/python3.5/libpython3.5-minimal_3.5.2-2ubuntu0~16.04.2_amd64.deb 404 Not Found [IP: 91.189.88.161 80]
E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/p/python3.5/python3.5-minimal_3.5.2-2ubuntu0~16.04.2_amd64.deb 404 Not Found [IP: 91.189.88.161 80]
E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/p/python3.5/libpython3.5-stdlib_3.5.2-2ubuntu0~16.04.2_amd64.deb 404 Not Found [IP: 91.189.88.161 80]
E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/p/python3.5/python3.5_3.5.2-2ubuntu0~16.04.2_amd64.deb 404 Not Found [IP: 91.189.88.161 80]
E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/libi/libidn/libidn11_1.32-3ubuntu1.1_amd64.deb 404 Not Found [IP: 91.189.88.161 80]
E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/u/unattended-upgrades/unattended-upgrades_0.90ubuntu0.7_all.deb 404 Not Found [IP: 91.189.88.161 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
The command '/bin/sh -c apt-get -y install software-properties-common python-software-properties' returned a non-zero code: 100
Parece que, ao correr:
apt-get -y install software-properties-common python-software-properties
Alguns servidores estão inativos. Como posso evitar essa dependência? Isso faz parte de um servidor de integração contínua e gostaria de evitar esses problemas no futuro.
NOTA: eu corri sudo apt update
antes. Isso é, na verdade, parte de um Dockerfile:
FROM ubuntu:16.04
RUN apt-get update
RUN apt-get -y install software-properties-common python-software-properties
RUN apt-get -y install ca-certificates curl
RUN apt-get -y install build-essential git sudo
a criação do contêiner falha na segunda linha.
De acordo com as melhores práticas do docker , devo colocar a atualização e instalá-la em a mesma linha RUN. Desta forma, o cache será atualizado corretamente.
Após essas alterações, as coisas estão funcionando.
Os arquivos foram removidos do servidor por algum motivo.
Abra uma nova janela do navegador e copie / cole o seguinte na barra de endereço do URL e pressione Enter e veja por si mesmo:
http://archive.ubuntu.com/ubuntu/pool/main/u/unattended-upgrades/unattended-upgrades_0.90ubuntu0.7_all.deb
http://security.ubuntu.com/ubuntu/pool/main/libi/libidn/libidn11_1.32-3ubuntu1.1_amd64.deb
Você também pode tentar:
wget http://archive.ubuntu.com/ubuntu/pool/main/u/unattended-upgrades/unattended-upgrades_0.90ubuntu0.7_all.deb
wget http://security.ubuntu.com/ubuntu/pool/main/libi/libidn/libidn11_1.32-3ubuntu1.1_amd64.deb
e você receberá o mesmo erro.
Você pode postar o conteúdo de /etc/apt/sources.list
?
cat /etc/apt/sources.list
Você só precisa editar os URLs no arquivo para redirecionar o APT para servidores diferentes e executar sudo apt update
e tentar novamente.
Veja o que acontece quando visito um dos URLs do meu lado:
É por isso que falha. Você precisa alterar a referência do servidor.
Se você estiver enfrentando esse problema durante o uso do Docker, talvez seja necessário executar o comando docker build com a opção --no-cache
para que ele comece novamente desde o início.