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
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
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
REGISTRY_USERNAME=username REGISTRY_PASSWORD=password
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=" } } }
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
Untuk menjalankan fail Docker Compose ini kita boleh menggunakan arahan berikut −
docker-compose up
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
version: '3.8' services: app: image: myprivaterepo/myapp environment: - REGISTRY_USERNAME=$REGISTRY_USERNAME - REGISTRY_PASSWORD=$REGISTRY_PASSWORD
Untuk menjalankan fail Docker Compose ini kita boleh menggunakan arahan berikut −
docker-compose up
- Repositori peribadi dengan fail Docker Compose .env
REGISTRY_USERNAME=username REGISTRY_PASSWORD=password
version: '3.8' services: app: image: myprivaterepo/myapp env_file: - .env
要运行此Docker Compose文件,我们可以使用以下命令−
docker-compose up
这将启动 "app" 服务并从我们的私有仓库拉取镜像。
私有仓库与Docker配置
如果您在一个swarm上运行Docker,您可以使用Docker配置来存储您的身份验证凭据。要在Docker Compose中使用Docker配置,我们需要创建一个包含我们身份验证凭据的配置文件−
echo "password" | docker secret create registry_password - echo "username" | docker secret create registry_username -
现在,让我们创建一个使用我们的私有仓库的Docker Compose文件−
version: '3.8' services: app: image: myprivaterepo/myapp secrets: - registry_username - registry_password
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
这将启动 "app" 服务并从我们的私有仓库拉取镜像。
私有仓库与Docker构建
如果您正在构建使用私有仓库的Docker镜像,您可以使用Docker build来对私有仓库进行身份验证。以下是一个示例 -
docker build --build-arg REGISTRY_USERNAME=username --build-arg REGISTRY_PASSWORD=password -t myprivaterepo/myapp .
在这个示例中,我们正在构建一个名为"myprivaterepo/myapp"的镜像,该镜像使用了一个私有仓库。我们通过 --build-arg 参数将我们的身份验证凭据作为构建参数传递。
一旦镜像构建完成,我们可以在Docker Compose文件中使用它−
version: '3.8' services: app: image: myprivaterepo/myapp
在这个例子中,我们定义了一个名为"app"的服务,它使用来自我们私有仓库的镜像"myprivaterepo/myapp"。
要运行此Docker Compose文件,我们可以使用以下命令−
docker-compose up
这将启动“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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



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.

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]

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

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

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.

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.

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

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.
