Rumah Operasi dan penyelenggaraan Docker Fokus pada cara menggunakan direktori yang berbeza dalam Perkhidmatan Docker

Fokus pada cara menggunakan direktori yang berbeza dalam Perkhidmatan Docker

Apr 19, 2023 pm 03:26 PM

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.

  1. Buat struktur direktori

Pertama, kami mencipta struktur direktori berikut:

.
├── dockerfiles
│   ├── web1
│   │   ├── Dockerfile
│   │   └── index.html
│   └── web2
│       ├── Dockerfile
│       └── index.html
├── docker-compose.yml
└── services.yml
Salin selepas log masuk

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.

  1. 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
Salin selepas log masuk

Fail Docker dalam direktori web2:

FROM nginx
WORKDIR /usr/share/nginx/html
COPY index.html .
Salin selepas log masuk

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.

  1. 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
Salin selepas log masuk

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.

  1. Kerahkan perkhidmatan

Akhir sekali, kami menggunakan arahan Docker Stack untuk menggunakan perkhidmatan:

$ docker stack deploy -c services.yml myapp
Salin selepas log masuk

Selepas pelaksanaan arahan selesai, kita boleh menggunakan arahan berikut Semak status perkhidmatan:

$ docker stack ps myapp
Salin selepas log masuk
  1. 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
Salin selepas log masuk

perkhidmatan web2:

http://localhost:8082
Salin selepas log masuk

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!

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

Video Face Swap

Video Face Swap

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

Artikel Panas

<🎜>: Bubble Gum Simulator Infinity - Cara Mendapatkan dan Menggunakan Kekunci Diraja
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Sistem Fusion, dijelaskan
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
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)

Topik panas

Tutorial Java
1664
14
Tutorial PHP
1269
29
Tutorial C#
1249
24
Cara keluar dari bekas dengan Docker Cara keluar dari bekas dengan Docker Apr 15, 2025 pm 12:15 PM

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)

Cara menyalin fail di Docker ke luar Cara menyalin fail di Docker ke luar Apr 15, 2025 pm 12:12 PM

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.

Cara Memulakan Bekas oleh Docker Cara Memulakan Bekas oleh Docker Apr 15, 2025 pm 12:27 PM

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".

Cara memeriksa nama bekas Docker Cara memeriksa nama bekas Docker Apr 15, 2025 pm 12:21 PM

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 Docker Cara memulakan semula Docker Apr 15, 2025 pm 12:06 PM

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).

Cara Memulakan MySQL oleh Docker Cara Memulakan MySQL oleh Docker Apr 15, 2025 pm 12:09 PM

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

Cara membuat bekas untuk Docker Cara membuat bekas untuk Docker Apr 15, 2025 pm 12:18 PM

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]

Cara Melihat Log dari Docker Cara Melihat Log dari Docker Apr 15, 2025 pm 12:24 PM

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

See all articles