


Fokus pada cara menggunakan direktori yang berbeza dalam Perkhidmatan Docker
Docker ialah teknologi kontena yang sangat popular yang boleh membina, menggunakan dan menjalankan aplikasi dengan cepat dan cekap. Perkhidmatan Docker ialah salah satu mekanisme yang paling biasa digunakan untuk pengurusan kluster Docker. Menggunakan Perkhidmatan Docker, pengguna boleh menggabungkan berbilang bekas Docker ke dalam satu perkhidmatan untuk mencapai ketersediaan tinggi, pengimbangan beban dan tujuan lain. Artikel ini akan memberi tumpuan kepada cara menggunakan direktori yang berbeza dalam Perkhidmatan Docker.
Apakah itu Perkhidmatan Docker?
Perkhidmatan Docker ialah salah satu mekanisme untuk pengurusan kluster Docker Ia boleh menggabungkan berbilang bekas Docker ke dalam satu perkhidmatan. Perkhidmatan Docker melaksanakan fungsi seperti ketersediaan tinggi, pengimbangan beban dan pengembangan automatik, yang boleh membantu pengguna mengoptimumkan perkhidmatan dan aplikasi.
Perkhidmatan Docker menyokong strategi penggunaan yang berbeza, seperti replika dan global. Apabila menggunakan dasar replika, pengguna boleh menentukan bilangan bekas untuk dilancarkan dan Enjin Docker akan menggunakan dan mengurus kejadian kontena secara automatik merentas kluster. Apabila menggunakan strategi global, Docker Engine akan memulakan salinan bekas dan menggunakannya ke setiap nod dalam kelompok.
Faedah menggunakan Perkhidmatan Docker
Menggunakan Perkhidmatan Docker boleh membawa banyak faedah, berikut adalah beberapa faedah utama:
- Ketersediaan tinggi: Perkhidmatan Docker boleh dicapai dengan mudah. ketersediaan bekas yang tinggi, walaupun jika nod gagal, kejadian kontena baharu boleh dimulakan secara automatik pada nod lain melalui fungsi pengimbangan automatik bekas.
- Pengimbangan beban: Menggunakan Perkhidmatan Docker boleh mencapai pengimbangan beban dengan mudah, supaya aplikasi pengguna sentiasa berada dalam keadaan terbaik tanpa perlu memberi perhatian kepada isu pengimbangan beban.
- Peluasan automatik: Perkhidmatan Docker menyokong pengembangan automatik Pengguna hanya perlu melaraskan bilangan bekas untuk mencapai pengembangan aplikasi.
Bagaimanakah Perkhidmatan Docker menggunakan direktori yang berbeza?
Perkhidmatan Docker menggunakan direktori tempat Fail Docker terletak sebagai konteks binaan imej kontena secara lalai. Walau bagaimanapun, apabila kita perlu membina imej yang berbeza dalam direktori yang berbeza, kita perlu menggunakan konteks binaan yang berbeza.
Berikut akan memperkenalkan cara menggunakan direktori berbeza untuk membina imej Docker dan menggunakan Perkhidmatan Docker untuk menggunakan aplikasi.
- Buat struktur direktori
Pertama, kami mencipta struktur direktori berikut:
. ├── dockerfiles │ ├── web1 │ │ ├── Dockerfile │ │ └── index.html │ └── web2 │ ├── Dockerfile │ └── index.html ├── docker-compose.yml └── services.yml
Dalam direktori dockerfiles, kami mencipta web1 dan web2 masing-masing Dua direktori. Setiap direktori mengandungi fail Dockerfile dan fail index.html. Antaranya, fail Dockerfile digunakan untuk membina imej Docker, dan fail index.html digunakan untuk menguji sama ada bekas berjalan seperti biasa.
Dalam fail services.yml, kami mentakrifkan perkhidmatan bernama web untuk menggunakan dua bekas, web1 dan web2.
- Menulis Fail Docker
Dalam contoh kami, kami telah mencipta Fail Docker untuk web1 dan web2 masing-masing. Ia adalah seperti berikut:
Fail Docker dalam direktori web1:
FROM nginx COPY index.html /usr/share/nginx/html
Fail Docker dalam direktori web2:
FROM nginx WORKDIR /usr/share/nginx/html COPY index.html .
Di sini kami menggunakan fail Fail Docker yang berbeza dan menggunakan konteks binaan yang berbeza dalam setiap fail. Dockerfile web1 menggunakan arahan COPY, yang menyalin fail index.html daripada konteks binaan yang ditentukan ke dalam bekas. Fail Docker web2 menggunakan arahan WORKDIR dan arahan COPY, yang akan menetapkan direktori kerja kepada /usr/share/nginx/html dan menyalin fail index.html daripada konteks binaan ke bekas.
- Menulis fail docker-compose.yml
Kami masih menggunakan fail docker-compose.yml untuk menentukan perkhidmatan kami. Kandungan fail adalah seperti berikut:
version: '3.7' services: web1: build: context: ./dockerfiles/web1 image: web1 deploy: replicas: 2 ports: - 8081:80 web2: build: context: ./dockerfiles/web2 image: web2 deploy: replicas: 3 ports: - 8082:80
Dalam fail docker-compose.yml, kami mentakrifkan dua perkhidmatan: web1 dan web2, yang masing-masing menggunakan konteks binaan yang berbeza. Pada masa yang sama, kami juga menentukan replika dan atribut port bagi setiap perkhidmatan untuk mengawal bilangan kontena dan pemetaan port.
- Kerahkan perkhidmatan
Akhir sekali, kami menggunakan arahan Docker Stack untuk menggunakan perkhidmatan:
$ docker stack deploy -c services.yml myapp
Selepas pelaksanaan arahan selesai, kita boleh menggunakan arahan berikut Semak status perkhidmatan:
$ docker stack ps myapp
- Uji perkhidmatan
Selepas penggunaan perkhidmatan selesai, kami boleh menggunakan penyemak imbas untuk akses URL berikut untuk menguji sama ada perkhidmatan web1 dan web2 adalah biasa:
servis web1:
http://localhost:8081
perkhidmatan web2:
http://localhost:8082
Jika semuanya berfungsi baik, kami akan melihat kandungan fail index.html pada setiap perkhidmatan .
Ringkasan
Dalam artikel ini, kami memperkenalkan cara menggunakan direktori berbeza untuk pembinaan kontena dalam Perkhidmatan Docker. Kami mencipta dua perkhidmatan dengan Dockerfiles yang berbeza dan menentukan konteks binaan perkhidmatan dalam fail docker-compose.yml. Akhirnya, kami menggunakan perkhidmatan dan menguji bahawa perkhidmatan itu berjalan dengan betul. Ini menyediakan cara yang mudah untuk pengguna yang menggunakan Perkhidmatan Docker untuk membina imej kontena dalam direktori yang berbeza.
Atas ialah kandungan terperinci Fokus pada cara menggunakan direktori yang berbeza dalam Perkhidmatan Docker. 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

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

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











Empat cara untuk keluar dari Docker Container: Gunakan Ctrl D di terminal kontena masukkan perintah keluar di terminal kontena Gunakan Docker Stop & lt; container_name & gt; Perintah Gunakan Docker Kill & lt; container_name & gt; Perintah di terminal tuan rumah (keluar kuasa)

Kaedah untuk menyalin fail ke tuan rumah luaran di Docker: Gunakan arahan CP Docker: Jalankan Docker CP [Options] & lt; Container Path & GT; & lt; PATH HOST & GT;. Menggunakan jumlah data: Buat direktori pada tuan rumah, dan gunakan parameter -V parameter untuk memasang direktori ke dalam bekas apabila membuat bekas untuk mencapai penyegerakan fail bidirectional.

Docker Container Startup Langkah: Tarik Imej Bekas: Run "Docker Pull [Mirror Name]". Buat bekas: Gunakan "Docker Buat [Pilihan] [Nama Mirror] [Perintah dan Parameter]". Mulakan bekas: Jalankan "Docker Start [Nama Container atau ID]". Semak Status Kontena: Sahkan bahawa bekas sedang berjalan dengan "Docker PS".

Anda boleh menanyakan nama kontena Docker dengan mengikuti langkah -langkah: Senaraikan semua bekas (Docker PS). Tapis senarai kontena (menggunakan arahan grep). Mendapat nama kontena (terletak di lajur "Nama").

Cara memulakan semula bekas Docker: Dapatkan ID Container (Docker PS); Hentikan bekas (Docker Stop & lt; container_id & gt;); Mulakan bekas (Docker Start & lt; container_id & gt;); Sahkan bahawa permulaan semula berjaya (Docker PS). Kaedah lain: Docker mengarang (Docker-Compose Restart) atau Docker API (lihat Dokumentasi Docker).

Proses memulakan MySQL di Docker terdiri daripada langkah -langkah berikut: Tarik imej MySQL untuk membuat dan memulakan bekas, tetapkan kata laluan pengguna root, dan memetakan sambungan pengesahan port Buat pangkalan data dan pengguna memberikan semua kebenaran ke pangkalan data

Buat bekas di Docker: 1. Tarik Imej: Docker Pull [Nama Cermin] 2. Buat bekas: Docker Run [Options] [Mirror Name] [Command] 3. Mulailah bekas: Docker Start [Nama Container]

Kaedah untuk melihat log Docker termasuk: Menggunakan arahan Log Docker, contohnya: Log Docker Container_Name Gunakan arahan docker exec untuk menjalankan /bin /sh dan lihat fail log, contohnya: docker exec -it container_name /bin /sh; Cat /var/log/container_name.log Gunakan arahan log docker-compose compose, contohnya: docker-compose -f docker-com
