Docker Repository, Ubuntu'da apt-get güncellemesini Çalıştırırken Yayın Dosyasına Sahip Değil


94

Ubuntu 16.10 kullanıyorum ve burada bulunan talimatları izleyerek Xenial yapısını kullanarak yakın zamanda Docker'ı (v1.12.4) yükledim . Kapsayıcı oluştururken, otomatik olarak yeniden başlatıldıklarından vb. Herhangi bir sorunla karşılaşmadım.

Ancak şimdi apt-get güncellemesini her çalıştırdığımda aşağıdaki hata iletisini alıyorum:

W: The repository 'https://apt.dockerproject.org/repo ubuntu-xenial Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: Failed to fetch https://apt.dockerproject.org/repo/dists/ubuntu-xenial/main/binary-amd64/Packages
E: Some index files failed to download. They have been ignored, or old ones used instead.

Burada bulunan tavsiyeleri uygulayarak sorunu çözmeye çalıştım ve bu sorunu çözemiyorum.

Bununla daha önce karşılaşan ve düzelten oldu mu? Eğer öyleyse, bunu çözmek için ne gerekiyor?


1
Lütfen bunun yardımcı olup olmadığına bakın - askubuntu.com/questions/768569/…
Rao

@Rao, maalesef bu sorunu çözmüyor. Anahtarı, kaynak listesi girişini kaldırdıktan, apt-get güncellemesini tekrar çalıştırdıktan ve ardından Docker kurulum adımlarını tekrarladıktan sonra hala aynı hata mesajını alıyorum.
Daniel Eagle

@Rao, çözümü buldum ve cevabı ekledim. Ancak, bahsettiğiniz makale soruma +1 tökezleyen diğerlerine faydalı olabilir. Şerefe.
Daniel Eagle

1
Benim durumumda aşağıdaki cevaplar yardımcı olmadı. Benim problemim, https trafiğine proxy yapmayan apt-cacher-ng kullanıyordum. github.com/moby/moby/issues/22599#issuecomment-404675734
jamshid

Yanıtlar:


86

Linux Mint'de resmi talimatlar benim için işe yaramadı. Ben gitmek zorunda kaldı /etc/apt/sources.list.d/additional-repositories.listve değiştirmek serenaiçin xenial.


2
Sadece bir not, nedense benim için o dosyada bir docker satırı trustyve bir tane daha vardı serena. Belki bir süre önce aynı süreci yaşamaya çalıştım ve unuttum. Her halükarda trustysatırı silmek zorunda kaldım , yoksa çözülemeyen bağımlılıklardan şikayet etti.
lobati

3
Dizin kaynakları.list.d referansı için teşekkürler. "Sudo rm /etc/apt/sources.list.d/docker*" ile Ubuntu xenial sorunu düzeltildi. Şimdi apt-get update nihayet çalışıyor.
nine9five

2
Debian için de aynısı: "/etc/apt/sources.list.d/docker.list" dosyasında "debian 10 stable" ı "debian stretch stable" olarak değiştirin ve çalışmalıdır.
peschanko

Benimkini değiştirmek zorunda kaldımbionic
jpthesolver2

74

Linux Mint için, bu soruna aslında Docker web sitesinde başvurulmaktadır :

Not: Aşağıdaki lsb_release -csalt komut, Ubuntu dağıtımınızın adını, örneğin xenial. Bazen Linux Mint gibi bir dağıtımda $(lsb_release -cs), ana Ubuntu dağıtımınıza geçmeniz gerekebilir . Örneğin, Linux Mint Rafaela kullanıyorsanız, güvenilir kullanabilirsiniz.

amd64:

$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"

lsb_release -csKomut Docker hiçbir Hazırlanan paket sahip olduğu bir depo sunar - Xenial olarak değiştirmeniz gerekir.

İçin doğru komut Ubuntu 16.04 dayanmaktadır Linux Mint 18 Xenial olduğunu

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   xenial \
   stable"

1
Sağladığınız komut, docker sitesinde bulunan komutla aynı. Ancak ubuntu 16.04'te benim için çalışmıyor. Oluşturulan giriş sources.listşudur: deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stableAma yine de aynı sorun. Keşke biri neden Releaseiçeride bulamadığını açıklasa https://download.docker.com/linux/ubuntu/dists/xenial/stable/binary-amd64/. Üzücü: Yıllarca ubuntu'yu kullandıktan sonra, işlerin depo yollarıyla nasıl çalıştığını hala çözemiyorum.
Marinos An

Bu, sorunlarımı yeni WLinux dağıtımında da ilerletti.
rainabba

23

Elliot Beach haklı. Teşekkürler Elliot.

İşte benim özümdeki kod .

sudo apt-get remove docker docker-engine docker.io

sudo apt-get update

sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

sudo apt-key fingerprint 0EBFCD88

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
xenial \
stable"

sudo apt-get update

sudo apt-get install docker-ce

sudo docker run hello-world

2
Xenial çalıştırmıyorsanız, bu komutları dikkatlice çalıştırın. Bu komut daha güvenli olacaktıradd-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
spuder

Bazı durumlarda (yani, Mint) desteklenen bir sürüme sahip olmayan lsb_release -csiadeler tara, özellikle xenialgösterildiği gibi (veya güvenilir) geçersiz kılınması yararlı bir çözümdür.
Strixy

Resmi olarak Elliott Plajı olarak bilinen kullanıcı, ileriye doğru ilerleyecektir Warlike Chimpanzee
Warlike Chimpanzee

Temel bilgileriniz, Kubuntu eoan ile "E: Paket 'containerd.io'nun kurulum adayı yok" sorununu çözüyor. Bazı insanlar bunu biyonik ile çözdü, ama benim için işe yaramadı, xenial ile özünü takip ederek yaptı. Sorun $(lsb_release -cs)tam olarak desteklenmediği için kullandığınızda ortaya çıkar . Diğerleri 4 ay ve sayma (herhangi bir sorun olmadan kesmek böyle bir "yanlış düzenleme" seçeneğini kullanarak rapor stackoverflow.com/questions/60274857/... )
Leamsi

17

Resmi liman işçisi belgesinde de önerildiği gibi. Şunu çalıştırmayı deneyin:

  • sudo vi /etc/apt/sources.list

Ardından deb [arch=amd64] https://download.docker.com/linux/ubuntu/ xenial stable, dosyanın son satırlarındaki bu tür girişleri ( ) kaldırın / yorumlayın .

Ardından terminalde şu komutu çalıştırın:

  • sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu/ bionic stable"

  • sudo apt-get update

Benim durumumda işe yaradı.


10

Burada Ikraider'den sorunumu çözen ilginç bir gönderi gördüm: https://github.com/docker/docker/issues/22599

Web sitesi talimatları yanlış, işte 16.04'te işe yarayan şey:

curl -s https://yum.dockerproject.org/gpg | sudo apt-key add
apt-key fingerprint 58118E89F3A912897C070ADBF76221572C52609D
sudo add-apt-repository "deb https://apt.dockerproject.org/repo ubuntu-$(lsb_release -cs) main"
sudo apt-get update
sudo apt-get install docker-engine=1.13.0-0~ubuntu-xenial

9

Linux Mint 20 Ulyana kullanıcılarının "ulyana""biyonik" olarak değiştirmesi gerekir .

/etc/apt/sources.list.d/additional-repositories.list

böyle:

deb [arch=amd64] https://download.docker.com/linux/ubuntu    bionic    stable

4

Benzer bir sorunla karşılaşıyordum Linux nane üzerinde yaptığım şey Debian versiyonunu kullanarak bulundu:

$ cat /etc/debian_version buster/sid

sonra Debian versiyonunu

$ sudo vi /etc/apt/sources.list.d/additional-repositories.list
deb [arch=amd64] https://download.docker.com/linux/debian    buster    stable

4

Uyarı: Aşağıdaki adımları kendi sorumluluğunuzdadır kullanın. Yorumlarda belirtildiği gibi farklı sonuçlar alabilirsiniz. Lütfen dikkatli olun ve bunu yapmadan önce tam bir yedek alın.

Sorunu çözmek için kullanılan adımların listesi aşağıda verilmiştir:

  1. Docker'ı kaldırın (bu, görüntüleri, kapsayıcıları, birimleri veya özelleştirilmiş yapılandırma dosyalarını silmez):

    sudo apt-get purge docker-motoru

  2. Docker apt anahtarını kaldırın:

    sudo apt-key del 58118E89F3A912897C070ADBF76221572C52609D

  3. Docker.list dosyasını silin:

    sudo rm /etc/apt/sources.list.d/docker.list

  4. Apt önbellek dosyalarını manuel olarak silin:

    sudo rm /var/lib/apt/lists/apt.dockerproject.org_repo_dists_ubuntu-xenial_*

  5. Apt-transport-https ve ca-sertifikalarını silin :

    sudo apt-get purge apt-transport-https ca-sertifikaları

  6. Apt'yi temizleyin ve otomatik kaldırma işlemini gerçekleştirin:

    sudo apt-get clean && sudo apt-get autoremove

  7. Ubuntu'yu yeniden başlatın:

    sudo yeniden başlatma

  8. Apt-get güncellemesini çalıştırın:

    sudo apt-get güncellemesi

  9. Apt-transport-https ve ca-sertifikalarını yeniden yükleyin:

    sudo apt-get install apt-transport-https ca-sertifikaları

  10. Apt anahtarını ekleyin:

> sudo apt-key adv \
       --keyserver hkp://ha.pool.sks-keyservers.net:80 \
       --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
  1. Docker.list dosyasını yeniden ekleyin:
> echo "deb https://apt.dockerproject.org/repo ubuntu-xenial main" |
sudo tee /etc/apt/sources.list.d/docker.list
  1. Apt-get güncellemesini çalıştırın:
> sudo apt-get update
  1. Docker'ı yükleyin:
> sudo apt-get install docker-engine

Verilen, birçok değişken vardır ve sonuçlarınız değişebilir. Bununla birlikte, bu adımlar, başarı olasılığının daha yüksek olması için potansiyel sorunlu noktaların temizlenmesini sağlamak için mümkün olduğunca çok alanı kapsamaktadır.

Güncelleme 7/6/2017

Görünüşe göre Docker'ın yeni sürümleri, bu sorunların çoğunu ortadan kaldırması gereken farklı bir kurulum süreci kullanıyor. Https://docs.docker.com/engine/installation/linux/ubuntu/ adresini kontrol ettiğinizden emin olun .


Yeniden başlatmayı çalıştırdıktan sonra oturum açma
ekranım

4
çalışıyor: sudo apt-get purge apt-transport-https ca-sertifikaları korkunç bir fikir, sanırım OS: C
RicardoE

@RicardoE, bunu çalıştırdıktan sonra, sisteminizde neler oluyor?
Daniel Eagle

1
Linux nane kullanıyorum ve temelde tüm tarçın malzemelerini ve google chrome gibi diğer bazı
yazılımları


3

Benim de benzer bir sorun yaşadım. Birisi benim için işe yarayan şeyi faydalı bulabilir.

Makine Ubuntu 16.04 çalıştırıyor ve Docker CE'ye sahip. Burada verilen cevaplara ve bağlantılara, özellikle Elliot Beach tarafından verilen Docker web sitesindeki bağlantıya baktıktan sonra /etc/apt/sources.listimi açıp inceledim.

Dosyada hem deb [arch=amd64] https://download.docker.com/linux/ubuntu (lsb_release -cs) stableve hem dedeb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable .

İkincisi ihtiyaç duyulan şey olduğu için, sadece ilkini yorumladım, belgeyi kaydettim ve şimdi sorun düzeltildi. Bir test olarak, aynı belgeye geri döndüm, yorum işaretini kaldırdım ve koştumsudo apt-get update tekrar . Bunu yaptığımda sorun geri döndü.

Özetlemek gerekirse: Docker web sitesinde belirtildiği gibi yalnızca ana Ubuntu dağıtım adıma sahip değildim, aynı zamanda hala (lsb_release -cs) içeren satırı da yorumladım.


Ubuntu 18.10'da şu satırı yorumladım: # deb [arch = amd64] download.docker.com/linux/ubuntu kozmik kararlı
Sergei G


1

Hala aynı sorunu yaşıyorum. Yukarıdaki cevapların hiçbiri sorunu çözmüyor gibi görünüyor. Ubuntu 16.04'e sahibim ve https://docs.docker.com/install/linux/docker-ce/ubuntu/ adresinde açıklanan adımları izliyorum.

apt-getHttps ile ilgili bir hatayla ilgili olduğundan şüpheleniyorum . Tarafından yazdırılan bilgilerapt-get yanıltıcıdır.

bence Failed to fetch.. şekilde de çevrilebileceğini :problem accessing resource from within an https connection

Bu sonuca nasıl vardım:

Öncelikle kurumsal bir proxy'nin arkasındayım, bu nedenle aşağıdaki yapılandırmayı ayarladım:

/etc/apt/apt.conf

Acquire::http::proxy "http://squidproxy:8080/";
Acquire::https::proxy "http://squidproxy:8080/";
Acquire::ftp::proxy "ftp://squidproxy:8080/";

Acquire::https::CaInfo     "/etc/ssl/certs/ca-certificates.pem";

/etc/apt/apt.conf.d/99proxy

Acquire::http::Proxy {
    localhost DIRECT;
    localhost:9020 DIRECT;
    localhost:9021 DIRECT;
};

Aşağıdaki testleri farklı girişlerle gerçekleştirdim sources.list

test girişi 1:

deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable

sudo apt-get update

W: The repository 'https://download.docker.com/linux/ubuntu xenial Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration     details.
E: Failed to fetch     https://download.docker.com/linux/ubuntu/dists/xenial/stable/binary-amd64/Packages  
E: Some index files failed to download. They have been ignored, or old ones used instead.

Başarısızlık

test girişi 2:

deb [arch=amd64] http://localhost:9020/linux/ubuntu xenial stable

/etc/apache2/sites-enabled/apt-proxy.conf

# http to https reverse proxy configuration.
Listen 9020
<VirtualHost *:9020>
SSLProxyEngine On
# pass from squid proxy
ProxyRemote https://download.docker.com/ http://squidproxy:8080
ProxyPass / https://download.docker.com/
ProxyPassReverse / https://download.docker.com/
ErrorLog ${APACHE_LOG_DIR}/apt-proxy-error.log
CustomLog ${APACHE_LOG_DIR}/apt-proxy-access.log combined
</VirtualHost>

sudo apt-get update

Hit:1 ..
Hit:2 ..
  ...                                                              
Hit:7 http://localhost:9020/linux/ubuntu xenial InRelease                
Get:8 ...
Fetched 323 kB in 0s (419 kB/s)
Reading package lists... Done

Başarı

test girişi 3:

deb [arch=amd64] https://localhost:9021/linux/ubuntu xenial stable

/etc/apache2/sites-enabled/apt-proxy.conf

# https to https revere proxy
Listen 9021
<VirtualHost *:9021>
# serve on https
SSLEngine on
SSLCertificateFile      /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
SSLProxyEngine On
# pass from squid proxy
ProxyRemote https://download.docker.com/ http://squidproxy:8080
ProxyPass / https://download.docker.com/
ProxyPassReverse / https://download.docker.com/
ErrorLog ${APACHE_LOG_DIR}/apt-proxy-error.log
CustomLog ${APACHE_LOG_DIR}/apt-proxy-access.log combined
</VirtualHost>

sudo apt-get update

W: The repository 'https://localhost:9021/linux/ubuntu xenial Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: Failed to fetch https://localhost:9021/linux/ubuntu/dists/xenial/stable/binary-amd64/Packages  
E: Some index files failed to download. They have been ignored, or old ones used instead.

Başarısızlık


Yukarıdaki durumlarda, apt-get url Failed to fetchve aynı zamanda Release dosya, aynı proxy yapılandırması kullanılarak browser/ wget/ curlüzerinden erişilebilirdi . Yalnızca http ters proxy url ile çalışmış
olması, bir https bağlantısı içinden kaynaklara erişmedeapt-get bazı sorunlar olduğunu gösterir .
Bu konunun ne olduğunu bilmiyorum ama apt-getdaha bilgilendirici bir mesaj göstermeliyim ( aptdaha da az ayrıntılı).

Not: wiresharking durumu 1, proxy'nin CONNECTbaşarılı olduğunu ve RST'nin gönderilmediğini gösterdi, ancak tabii ki dosyalar okunamadı.


0

Bu benim için LinuxMint 19'da çalıştı.

curl -s https://yum.dockerproject.org/gpg | sudo apt-key add
apt-key fingerprint 58118E89F3A912897C070ADBF76221572C52609D
sudo add-apt-repository "deb https://apt.dockerproject.org/repo ubuntu-$(lsb_release -cs) main"
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io


-1

Bu sorun için en iyi kontrol: (Proxy'nin arkasındaysanız), (ubuntu 18.04'te test edilmiştir), (diğer ubuntu üzerinde de çalışacaktır), (çoğunlukla hata: https_proxy = "http://192.168.0.251:808/)

  1. Şu dosyaları kontrol edin:

    #sudo cat /etc/environment :
    http_proxy="http://192.168.0.251:808/"
    https_proxy="http://192.168.0.251:808/"
    ftp_proxy="ftp://192.168.0.251:808/"
    socks_proxy="socks://192.168.0.251:808/"
    #sudo cat /etc/apt/apt.conf :
    Acquire::http::proxy "http://192.168.0.251:808/";
    Acquire::https::proxy "http://192.168.0.251:808/";
    Acquire::ftp::proxy "ftp://192.168.0.251:808/";
    Acquire::socks::proxy "socks://192.168.0.251:808/";
    
  2. Docker kararlı deposu ekle

    #sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" 
    
  3. Apt-get güncellemesini çalıştırın:

    #sudo apt-get update
    
  4. Docker CE'yi kontrol edin

    #apt-cache policy docker-ce
    
  5. Docker'ı yükle

    #sudo apt-get install docker-ce
    
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.