Tutorial Kontena Docker: Dari Bermula Hingga Menguasai
Docker ialah platform kontena sumber terbuka yang boleh membungkus aplikasi dan kebergantungannya ke dalam bekas, menyediakan persekitaran pembangunan dan berjalan yang konsisten supaya ia boleh digunakan di mana-mana tempat tempatan lari. Teknologi kontena Docker telah digunakan secara meluas dalam medan DevOps dan pengkomputeran awan, dan juga merupakan salah satu alat kontena paling popular hari ini.
Dalam tutorial ini, kami akan bermula dengan asas bekas Docker dan meningkatkan tahap kami sehingga kami mahir dalam aspek utama bekas Docker.
1. Pengetahuan asas tentang bekas Docker
Docker mempunyai dua konsep teras: imej dan bekas. Imej ialah templat ringan, baca sahaja yang mengandungi aplikasi dan kebergantungannya. Bekas ialah contoh berjalan yang dibuat berdasarkan imej, biasanya digunakan untuk menjalankan aplikasi atau persekitaran ujian.
Jalankan bekas dalam Docker melalui arahan berikut:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
Antaranya, OPTIONS mewakili pilihan kontena, IMEJ mewakili imej yang digunakan oleh bekas itu, dan COMMAND dan ARG mewakili arahan dan parameter yang akan dilaksanakan oleh bekas .
Sebagai contoh, arahan berikut akan menjalankan bekas berdasarkan imej Ubuntu dalam Docker dan melaksanakan arahan /bin/bash:
docker run -it ubuntu /bin/bash
Untuk melihat status bekas Docker, sila gunakan arahan berikut:
docker ps [OPTIONS]
di mana OPTIONS mewakili pilihan senarai kontena Pilihan yang boleh digunakan ialah:
Sebagai contoh, arahan berikut akan menyenaraikan bekas Docker yang sedang berjalan:
docker ps
boleh menggunakan fail Dockerfile untuk menentukan pakej perisian yang perlu dipasang dalam persekitaran kontena Docker. Fail Docker ialah fail teks yang mengandungi berbilang arahan dan parameter yang digunakan untuk membina imej Docker. Contoh kandungan fail Docker adalah seperti berikut:
FROM ubuntu:latest RUN apt-get update && apt-get install -y nginx
Fail Docker di atas mentakrifkan imej berdasarkan pengedaran Linux Ubuntu dan menggunakan arahan apt-get untuk memasang pakej nginx. Kemudian, anda boleh menggunakan arahan berikut untuk membina imej:
docker build -t my-nginx-image .
di mana, my-nginx-image ialah nama imej dan "." .
2. Aplikasi lanjutan bekas Docker
Bekas Docker boleh dikembangkan mengikut keperluan untuk memadankan beban yang lebih tinggi . Anda boleh menggunakan arahan berikut untuk mencipta berbilang bekas:
docker-compose up -d
Di mana, pilihan -d bermaksud menjalankan bekas sebagai proses latar belakang.
Kadangkala anda perlu melakukan beberapa operasi dalam bekas Docker, seperti menyemak fail, menjalankan arahan, dsb. Anda boleh menggunakan arahan berikut untuk memasukkan bekas Docker yang sedang berjalan:
docker exec -it [CONTAINER ID] /bin/bash
dengan ID CONTAINER mewakili ID bekas. Contohnya:
docker exec -it bb0cd62f8cac /bin/bash
Anda boleh membangunkan menggunakan bekas Docker untuk mencapai konsistensi dan kebolehpercayaan dalam persekitaran pembangunan anda. Anda boleh menggunakan arahan berikut untuk memulakan bekas dan melekapkan direktori semasa sebagai volum ke dalam bekas:
docker run --rm -it -v $(pwd):/app node:latest /bin/bash
Antaranya, pilihan -rm bermakna bekas itu akan dipadamkan secara automatik selepas bekas selesai dijalankan . Pilihan -v bermaksud untuk melekapkan direktori semasa ($(pwd)) pada hos ke direktori /app dalam bekas Docker. node:latest ialah imej Docker dan melaksanakan arahan /bin/bash.
Bekas Docker boleh melindungi aplikasi dan sistem daripada serangan berniat jahat sambil menyediakan keselamatan operasi yang lebih baik. Berikut ialah beberapa cadangan untuk melindungi bekas Docker:
3. Aplikasi lanjutan bekas Docker
Docker Compose ialah alat orkestrasi untuk Docker menguruskan berbilang bekas. Fail Karang Docker boleh ditakrifkan menggunakan arahan berikut:
version: '3' services: web: build: . ports: - "5000:5000" redis: image: "redis:alpine"
dengan versi 3 ialah versi format fail Karang Docker. Perkhidmatan mentakrifkan perkhidmatan yang perlu diurus, termasuk web dan redis. Antaranya, web menggunakan definisi binaan untuk menggunakan direktori semasa sebagai konteks binaan, dan redis menggunakan imej untuk mendapatkan imej redis daripada Docker Hub.
Kubernetes ialah sistem orkestrasi kontena popular yang mengurus kontena Docker secara automatik. Berikut ialah contoh orkestrasi kontena menggunakan Kubernetes:
apiVersion: apps/v1 kind: Deployment metadata: name: my-deployment spec: replicas: 3 selector: matchLabels: app: my-app template: metadata: labels: app: my-app spec: containers: - name: my-container image: my-image:latest ports: - containerPort: 8080
Fail manifes Kubernetes ini mentakrifkan satu kerahan bernama "my-deployment" dan menjalankan 3 replika. Ia juga mentakrifkan bekas bernama "bekas saya", menggunakan imej saya:imej terkini dan mendedahkan perkhidmatan pada port 8080.
Kesimpulan
Teknologi kontena Docker menyediakan alatan berkuasa untuk DevOps dan medan pengkomputeran awan, yang boleh memberikan konsistensi dan kebolehpercayaan semasa pembangunan dan operasi serta penyelenggaraan. Dalam tutorial ini, kami melihat secara mendalam tentang asas, aplikasi lanjutan dan aplikasi lanjutan bekas Docker, serta memberikan contoh praktikal, dengan harapan dapat membantu anda memahami dan menggunakan teknologi penting ini.
Atas ialah kandungan terperinci Apa yang mengajar bekas buruh pelabuhan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!