Jadual Kandungan
Pengenalan
Apakah itu gudang persendirian?
Menggunakan Docker Compose dengan repositori peribadi
Kaedah pengesahan
Fail Docker Config.json
Pembolehubah persekitaran
私有仓库与Docker配置
私有仓库与Docker构建
结论
Rumah pangkalan data tutorial mysql Menggunakan docker-compose dengan repositori peribadi

Menggunakan docker-compose dengan repositori peribadi

Aug 29, 2023 pm 11:13 PM

Menggunakan docker-compose dengan repositori peribadi

Pengenalan

Docker Compose ialah alat untuk mentakrif dan menjalankan aplikasi Docker berbilang bekas. Ia membolehkan pembangun mentakrifkan timbunan aplikasi mereka sebagai fail YAML, menjadikannya mudah untuk mencipta persekitaran yang kompleks dengan hanya beberapa arahan. Walau bagaimanapun, menggunakan Docker Compose dengan repositori peribadi boleh menjadi agak rumit. Dalam artikel ini, kami akan meneroka cara menggunakan repositori peribadi dengan Docker Compose, termasuk kaedah pengesahan yang berbeza dan contohnya.

Apakah itu gudang persendirian?

Imej docker boleh disimpan dalam repositori peribadi atau awam. Repositori awam terbuka kepada semua orang, manakala repositori peribadi memerlukan pengesahan untuk mengakses. Repositori peribadi biasanya digunakan untuk imej yang mengandungi kod proprietari atau data yang tidak sepatutnya tersedia untuk umum. Untuk mengakses repositori peribadi, anda perlu menyediakan bukti kelayakan pengesahan.

Menggunakan Docker Compose dengan repositori peribadi

Apabila menggunakan Docker Compose dengan repositori peribadi, anda perlu memastikan bahawa daemon Docker yang berjalan pada mesin hos boleh mengakses repositori. Terdapat beberapa cara untuk mencapai ini bergantung pada kaedah pengesahan yang digunakan oleh repositori.

Kaedah pengesahan

Fail Docker Config.json

Daemon Docker boleh menggunakan fail config.json untuk menyimpan bukti kelayakan pengesahan. Fail ini boleh dibuat secara manual atau menggunakan arahan log masuk docker. Untuk menggunakan fail config.json dalam Docker Compose, anda perlu melekapkannya sebagai volum dalam bekas. Berikut adalah contoh:

version: '3.8'

services:
   app:
      image: myprivaterepo/myapp
      volumes:
         - $HOME/.docker/config.json:/root/.docker/config.json
Salin selepas log masuk
Salin selepas log masuk

Dalam contoh ini, kami melekapkan fail config.json yang terletak dalam direktori rumah pengguna ke direktori akar bekas. Ini membolehkan daemon Docker berjalan di dalam bekas untuk mengakses bukti kelayakan yang disimpan dalam fail.

Pembolehubah persekitaran

Sesetengah repositori peribadi menyokong pengesahan melalui pembolehubah persekitaran Kaedah ini berguna apabila anda tidak mahu mendedahkan bukti kelayakan anda dalam fail konfigurasi

version: '3.8'

services:
   app:
      image: myprivaterepo/myapp
      environment:
         - REGISTRY_USERNAME=username
         - REGISTRY_PASSWORD=password
Salin selepas log masuk

Dalam contoh ini, kami menetapkan pembolehubah persekitaran REGISTRY_USERNAME dan REGISTRY_PASSWORD sebagai bukti kelayakan pengesahan. Daemon Docker yang berjalan di dalam bekas boleh menggunakan pembolehubah ini untuk mengesahkan dengan repositori.

Fail Karang Docker .env

Docker Compose membolehkan anda mentakrifkan pembolehubah persekitaran dalam fail .env, yang dimuatkan secara automatik apabila anda menjalankan arahan docker-compose. Berikut ialah contoh −

version: '3.8'

services:
   app:
      image: myprivaterepo/myapp
      env_file:
         - .env
Salin selepas log masuk
Salin selepas log masuk

Dalam contoh ini, kami menggunakan arahan env_file untuk memuatkan pembolehubah persekitaran yang ditakrifkan dalam fail .env. Berikut ialah kandungan sampel fail .env:

REGISTRY_USERNAME=username
REGISTRY_PASSWORD=password
Salin selepas log masuk
Salin selepas log masuk

Kaedah ini serupa dengan menggunakan pembolehubah persekitaran secara langsung dalam fail YAML, tetapi ia membolehkan anda menyimpan bukti kelayakan dalam fail berasingan.

Contoh

Gudang peribadi dan fail Docker Config.json

Andaikan kami mempunyai repositori peribadi di Docker Hub dan kami mahu menggunakannya dalam fail Docker Compose. Kami akan membuat fail config.json terlebih dahulu yang mengandungi bukti kelayakan pengesahan −

{
   "auths": {
      "https://index.docker.io/v1/": {
         "auth": "dXNlcm5hbWU6cGFzc3dvcmQ="
		}
	}
}
Salin selepas log masuk

Dalam contoh ini, kami menggunakan rentetan berkod base64 sebagai bukti kelayakan pengesahan kami. Rentetan terdiri daripada nama pengguna dan kata laluan yang dipisahkan oleh titik bertindih dan dikodkan

Sekarang, mari buat fail Docker Compose menggunakan repositori peribadi kami −

version: '3.8'

services:
   app:
      image: myprivaterepo/myapp
      volumes:
         - $HOME/.docker/config.json:/root/.docker/config.json
Salin selepas log masuk
Salin selepas log masuk

Dalam contoh ini, kami mentakrifkan perkhidmatan yang dipanggil "aplikasi" yang menggunakan imej "myprivaterepo/myapp" daripada repositori peribadi kami. Kami juga melekapkan fail config.json sebagai volum ke dalam bekas supaya daemon Docker yang berjalan di dalam bekas boleh mengakses bukti kelayakan.

Untuk menjalankan fail Docker Compose ini kita boleh menggunakan arahan berikut −

docker-compose up
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Ini akan memulakan perkhidmatan "apl" dan menarik imej daripada repositori peribadi kami.

Repositori peribadi dan pembolehubah persekitaran

Andaikan kami mempunyai repositori peribadi yang dihoskan pada pendaftaran yang dihoskan sendiri dan kami mahu menggunakannya dalam fail Karang Docker. Kami akan mulakan dengan menetapkan kelayakan pengesahan sebagai pembolehubah persekitaran -

export REGISTRY_USERNAME=username
export REGISTRY_PASSWORD=password
Salin selepas log masuk

Sekarang, mari buat fail Docker Compose menggunakan repositori peribadi kami −

version: '3.8'

services:
   app:
      image: myprivaterepo/myapp
      environment:
         - REGISTRY_USERNAME=$REGISTRY_USERNAME
         - REGISTRY_PASSWORD=$REGISTRY_PASSWORD
Salin selepas log masuk

Dalam contoh ini, kami mentakrifkan perkhidmatan yang dipanggil "aplikasi" yang menggunakan imej "myprivaterepo/myapp" daripada repositori peribadi kami. Kami juga menetapkan pembolehubah persekitaran REGISTRY_USERNAME dan REGISTRY_PASSWORD untuk bukti kelayakan pengesahan.

Untuk menjalankan fail Docker Compose ini kita boleh menggunakan arahan berikut −

docker-compose up
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Ini akan memulakan perkhidmatan "apl" dan menarik imej daripada repositori peribadi kami.

  • Repositori peribadi dengan fail Docker Compose .env

Andaikan kami mempunyai repositori peribadi yang dihoskan pada pendaftaran yang dihoskan sendiri dan kami mahu menggunakannya dalam fail Karang Docker. Kami akan membuat fail .env terlebih dahulu yang mengandungi kelayakan pengesahan kami −

REGISTRY_USERNAME=username
REGISTRY_PASSWORD=password
Salin selepas log masuk
Salin selepas log masuk

Sekarang, mari buat fail Docker Compose menggunakan repositori peribadi kami −

version: '3.8'

services:
   app:
      image: myprivaterepo/myapp
      env_file:
         - .env
Salin selepas log masuk
Salin selepas log masuk

Dalam contoh ini, kami mentakrifkan perkhidmatan yang dipanggil "aplikasi" yang menggunakan imej "myprivaterepo/myapp" daripada repositori peribadi kami. Kami juga menggunakan arahan env_file untuk memuatkan pembolehubah persekitaran yang ditakrifkan dalam fail .env.

要运行此Docker Compose文件,我们可以使用以下命令−

docker-compose up
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

这将启动 "app" 服务并从我们的私有仓库拉取镜像。

私有仓库与Docker配置

如果您在一个swarm上运行Docker,您可以使用Docker配置来存储您的身份验证凭据。要在Docker Compose中使用Docker配置,我们需要创建一个包含我们身份验证凭据的配置文件−

echo "password" | docker secret create registry_password -
echo "username" | docker secret create registry_username -
Salin selepas log masuk

现在,让我们创建一个使用我们的私有仓库的Docker Compose文件−

version: '3.8'

services:
   app:
      image: myprivaterepo/myapp
      secrets:
         - registry_username
         - registry_password
Salin selepas log masuk

In this example, we're defining a service called "app" that uses image "myprivaterepo/myapp" from our private repository. We're also using secrets directive to load registry_username and registry_password secrets into container.

要运行此Docker Compose文件,我们可以使用以下命令−

docker-compose up
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

这将启动 "app" 服务并从我们的私有仓库拉取镜像。

私有仓库与Docker构建

如果您正在构建使用私有仓库的Docker镜像,您可以使用Docker build来对私有仓库进行身份验证。以下是一个示例 -

docker build --build-arg REGISTRY_USERNAME=username --build-arg REGISTRY_PASSWORD=password -t myprivaterepo/myapp .
Salin selepas log masuk

在这个示例中,我们正在构建一个名为"myprivaterepo/myapp"的镜像,该镜像使用了一个私有仓库。我们通过 --build-arg 参数将我们的身份验证凭据作为构建参数传递。

一旦镜像构建完成,我们可以在Docker Compose文件中使用它−

version: '3.8'

services:
   app:
      image: myprivaterepo/myapp
Salin selepas log masuk

在这个例子中,我们定义了一个名为"app"的服务,它使用来自我们私有仓库的镜像"myprivaterepo/myapp"。

要运行此Docker Compose文件,我们可以使用以下命令−

docker-compose up
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

这将启动“app”服务,并使用来自我们私有仓库的镜像。

结论

使用Docker Compose与私有仓库可能会有一些挑战,但是有几种可用的身份验证方法可以使访问您的镜像变得更容易。在本文中,我们探讨了如何使用Docker Compose与私有仓库,涵盖了不同的身份验证方法及其示例。通过按照这些示例,您可以轻松地对私有仓库进行身份验证,并在Docker Compose中使用您的镜像。

Atas ialah kandungan terperinci Menggunakan docker-compose dengan repositori peribadi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana anda mengubah jadual di MySQL menggunakan pernyataan Alter Table? Bagaimana anda mengubah jadual di MySQL menggunakan pernyataan Alter Table? Mar 19, 2025 pm 03:51 PM

Artikel ini membincangkan menggunakan pernyataan jadual Alter MySQL untuk mengubah suai jadual, termasuk menambah/menjatuhkan lajur, menamakan semula jadual/lajur, dan menukar jenis data lajur.

Bagaimana saya mengkonfigurasi penyulitan SSL/TLS untuk sambungan MySQL? Bagaimana saya mengkonfigurasi penyulitan SSL/TLS untuk sambungan MySQL? Mar 18, 2025 pm 12:01 PM

Artikel membincangkan mengkonfigurasi penyulitan SSL/TLS untuk MySQL, termasuk penjanaan sijil dan pengesahan. Isu utama menggunakan implikasi keselamatan sijil yang ditandatangani sendiri. [Kira-kira aksara: 159]

Bagaimana anda mengendalikan dataset besar di MySQL? Bagaimana anda mengendalikan dataset besar di MySQL? Mar 21, 2025 pm 12:15 PM

Artikel membincangkan strategi untuk mengendalikan dataset besar di MySQL, termasuk pembahagian, sharding, pengindeksan, dan pengoptimuman pertanyaan.

Apakah beberapa alat GUI MySQL yang popular (mis., MySQL Workbench, phpmyadmin)? Apakah beberapa alat GUI MySQL yang popular (mis., MySQL Workbench, phpmyadmin)? Mar 21, 2025 pm 06:28 PM

Artikel membincangkan alat MySQL GUI yang popular seperti MySQL Workbench dan PHPMyAdmin, membandingkan ciri dan kesesuaian mereka untuk pemula dan pengguna maju. [159 aksara]

Bagaimana anda menjatuhkan jadual di MySQL menggunakan pernyataan jadual drop? Bagaimana anda menjatuhkan jadual di MySQL menggunakan pernyataan jadual drop? Mar 19, 2025 pm 03:52 PM

Artikel ini membincangkan jadual menjatuhkan di MySQL menggunakan pernyataan Jadual Drop, menekankan langkah berjaga -jaga dan risiko. Ia menyoroti bahawa tindakan itu tidak dapat dipulihkan tanpa sandaran, memperincikan kaedah pemulihan dan bahaya persekitaran pengeluaran yang berpotensi.

Terangkan keupayaan carian teks penuh InnoDB. Terangkan keupayaan carian teks penuh InnoDB. Apr 02, 2025 pm 06:09 PM

Keupayaan carian teks penuh InnoDB sangat kuat, yang dapat meningkatkan kecekapan pertanyaan pangkalan data dan keupayaan untuk memproses sejumlah besar data teks. 1) InnoDB melaksanakan carian teks penuh melalui pengindeksan terbalik, menyokong pertanyaan carian asas dan maju. 2) Gunakan perlawanan dan terhadap kata kunci untuk mencari, menyokong mod boolean dan carian frasa. 3) Kaedah pengoptimuman termasuk menggunakan teknologi segmentasi perkataan, membina semula indeks dan menyesuaikan saiz cache untuk meningkatkan prestasi dan ketepatan.

Bagaimana anda mewakili hubungan menggunakan kunci asing? Bagaimana anda mewakili hubungan menggunakan kunci asing? Mar 19, 2025 pm 03:48 PM

Artikel membincangkan menggunakan kunci asing untuk mewakili hubungan dalam pangkalan data, memberi tumpuan kepada amalan terbaik, integriti data, dan perangkap umum untuk dielakkan.

Bagaimana anda membuat indeks pada lajur JSON? Bagaimana anda membuat indeks pada lajur JSON? Mar 21, 2025 pm 12:13 PM

Artikel ini membincangkan membuat indeks pada lajur JSON dalam pelbagai pangkalan data seperti PostgreSQL, MySQL, dan MongoDB untuk meningkatkan prestasi pertanyaan. Ia menerangkan sintaks dan faedah mengindeks laluan JSON tertentu, dan menyenaraikan sistem pangkalan data yang disokong.

See all articles