Secara default, jika saya mengeluarkan perintah:
sudo docker pull ruby:2.2.1
itu akan menarik dari situs resmi docker.io secara default.
Pulling repository docker.io/library/ruby
Bagaimana cara mengubahnya ke registri pribadi saya. Itu artinya jika saya mengeluarkan
sudo docker pull ruby:2.2.1
itu akan menarik dari registri pribadi saya sendiri, hasilnya seperti:
Pulling repository my_private.registry:port/library/ruby
docker
docker-registry
mainframer
sumber
sumber
Jawaban:
PEMBARUAN: Mengikuti komentar Anda, saat ini tidak memungkinkan untuk mengubah registri default, lihat masalah ini untuk info lebih lanjut.
Anda harus dapat melakukan ini, mengganti host dan port ke milik Anda:
Jika servernya jauh / memiliki auth, Anda mungkin perlu masuk ke server dengan:
Lalu lari:
sumber
docker pull <YOUR-DOMAIN>:8080/test-image
baik-baik saja. Tapi yang saya inginkan adalahdocker pull test-image
, tanpa spesifikasi DOMAIN dan Port dan tanpa login.@scopes
di npm untuk memperkenalkan namespace baru tanpa konflik dengan yang sudah ada. Memiliki nama host registri yang disertakan dalam nama gambar membuat cache / proxying / kunci registri di dalam perusahaan atau proyek menjadi sulit. Ini menjelaskannya dengan baik: informit.com/articles/article.aspx?p=2464012&seqNum=3Ternyata ini adalah benar-benar mungkin, tetapi tidak menggunakan asli Docker CE atau EE versi.
Anda dapat menggunakan garpu Red Hat untuk buruh pelabuhan dengan tanda '--add-registry' atau Anda dapat membuat buruh pelabuhan dari sumber sendiri dengan registry / config.go yang dimodifikasi untuk menggunakan namespace / indeks registri default berkode keras Anda sendiri.
sumber
--add-registry
berhenti bekerja.--block-registry index.docker.io
opsi untuk menghapus registri default.--add-registry
permintaan tarik itu tidak digabung . Fitur ini akhirnya ditolak ( # 11816 ).jika Anda menggunakan distro fedora, Anda dapat mengubah file
Menambahkan domain docker.io
sumber
--add-registry
. Fitur ini tidak akan diadopsi oleh Docker di permintaan tarik itu tidak digabung . (juga fitur akhirnya ditolak ( # 11816 ).Sepertinya itu tidak akan didukung karena fragmentasi yang akan dibuatnya dalam komunitas (yaitu dua pengguna akan mendapatkan gambar yang berbeda
ubuntu:latest
). Anda hanya perlu menambahkan host di depan nama gambar. Lihat masalah github ini untuk bergabung dalam diskusi.(Catatan, ini tidak dimaksudkan sebagai komentar beropini, hanya ringkasan singkat dari diskusi yang dapat diikuti dalam masalah github yang disebutkan.)
sumber
Saya mencoba menambahkan opsi berikut di /etc/docker/daemon.json. (Saya menggunakan CentOS7)
setelah itu, restart daemon buruh pelabuhan. Dan itu bekerja tanpa docker.io. Saya harap seseorang ini akan membantu.
sumber
--add-registry
permintaan tarik itu tidak digabung .Posisi resmi Docker dijelaskan dalam masalah # 11815 :
Red Hat memiliki implementasi khusus yang memungkinkannya (lihat anwser, tetapi ditolak oleh projet hulu Docker). Itu bergantung pada
--add-registry
argumen, yang diatur/etc/containers/registries.conf
pada RHEL / CentOS 7.sumber
Sebelumnya ini bisa dicapai dengan menggunakan
DOCKER_OPTS
dalam/etc/default/docker
file konfigurasi yang bekerja pada Ubuntu 14:04 dan memiliki beberapa masalah pada Ubuntu 15:04. Tidak yakin apakah ini telah diperbaiki.Baris di bawah ini perlu masuk ke file
/etc/default/docker
di host yang menjalankan daemon buruh pelabuhan. Titik perubahan ke registri pribadi diinstal di jaringan lokal Anda. Catatan: Anda harus me-restart layanan buruh pelabuhan diikuti dengan perubahan ini.sumber
Saya menambahkan hingga jawaban asli yang diberikan oleh Guy yang masih berlaku hari ini (segera 2020).
Mengganti registri buruh pelabuhan default, seperti yang akan Anda lakukan dengan
maven
, sebenarnya bukan praktik yang baik.Saat menggunakan
maven
, Anda menarik artefak dari Maven Central Repository melalui sistem manajemen repositori lokal Anda yang akan bertindak sebagai proxy. Artefak ini adalah lib (toples) mentah yang polos dan sangat kecil kemungkinannya Anda akan mendorong toples dengan nama yang sama.Di sisi lain, gambar buruh pelabuhan sepenuhnya operasional, dapat dijalankan, lingkungan, dan sangat masuk akal untuk menarik gambar dari Docker Hub, memodifikasinya dan mendorong gambar ini di sistem manajemen registri lokal Anda dengan nama yang sama, karena itu persis apa namanya, hanya dalam konteks perusahaan Anda. Dalam hal ini, satu-satunya perbedaan antara kedua gambar tersebut adalah jalurnya !!
Oleh karena itu perlu mengatur aturan berikut: awalan suatu gambar menunjukkan asalnya; secara default jika gambar tidak memiliki prefiks, itu ditarik dari Docker Hub.
sumber
Belum mencoba, tetapi mungkin membajak proses resolusi DNS dengan menambahkan baris
/etc/hosts
untukhub.docker.com
atau sesuatu yang serupa (docker.io
?) Dapat berfungsi?sumber