apt更新无法获取,构建Docker映像时出错,

时间:2019-10-31 12:04:37

标签: docker debian apt

说明:

  • 运行docker image building命令时

docker build -f server3d.dockerfile . -t rcss3d/rcssserver3d:latest --no-cache

  • 部分错误消息如下
E: Failed to fetch http://172.18.7.250/files/31720000019B085F/ftp.debian.org/debian/pool/main/f/fonts-dejavu/fonts-dejavu-core_2.37-1_all.deb  File has unexpected size (1068028 != 1040712). Mirror sync in progress? [IP: 172.18.7.250 80]
   Hashes of expected file:
    - SHA256:f2b3f7f51e23e0493e8e642c82003fe75cf42bc95fda545cc96b725a69adb515
    - SHA1:15970026c98abf7a150d20697aa16d10d72740ba [weak]
    - MD5Sum:be036b423d84ce26700dacdbdcddf7b5 [weak]
    - Filesize:1040712 [weak]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
  • 我的平台是Ubuntu 16.04.6,具有Docker 19.03.4版本,内部版本9013bf583a(问题可能与平台无关?)

  • 它在我的PC上发生过几次,几乎在Docker上每次发生。

  • http://172.18.7.250可能是我的局域网中的服务器,我不知道为什么它只是重定向到它,也许有某种缓存机制?
  • 我尝试先apt update,然后用更好的source.list替换我的--no-cache,只是错误一样。
  • 我尝试使用from django import forms from .models import Randomisation class RandomisationForm(forms.ModelForm): TYPES = [ (1, 'On-line'), (2, 'Telephon'), ] ran_num = forms.CharField(label="Patient code",disabled=True) ran_dat = forms.DateInput() ran_pro = forms.ChoiceField(label="Type", widget=forms.Select, choices=TYPES) class Meta: model = Randomisation fields = ('ran_num','ran_dat','ran_inv','ran_pro','ran_pro_per','ran_crf_inc','ran_tbc','ran_crf_eli','ran_cri','ran_sta','ran_vih','ran_bra','ran_med',) 选项构建docker映像,它也无法正常工作。
  • 当我切换到另一个网络(不在上面的局域网中)时,问题应该消失了,在这种情况下,问题可能得到解决。
  • 我想知道为什么会发生此错误以及其他避免方法(例如ip ip 172.18.7.250)

嗯,这只是一个奇怪的问题,没什么大问题... 但是它总是出现并且让我感到困惑。

1 个答案:

答案 0 :(得分:0)

我使用docker-compose,但我认为这会有所帮助:

  1. apt-get update添加到您的Dockerfile:
ENV DEBIAN_FRONTEND noninteractive

...

RUN apt-get update --fix-missing
  1. 不使用缓存来重建容器:
docker-compose build --no-cache %container_name%