Rumah > Java > javaTutorial > teks badan

Permulaan pantas Docker, konsep teras dan arahan biasa

Lepaskan: 2023-08-23 14:56:34
ke hadapan
769 orang telah melayarinya


Seorang rakan bertanya tentang soalan berkaitan Docker pada hujung minggu. Hari ini saya akan berkongsi dengan anda permulaan pantas, konsep teras dan arahan biasa untuk Docker.

Permulaan pantas Docker, konsep teras dan arahan biasa

1. Memasang Docker di bawah CentOS memerlukan versi pengedaran 7 dan ke atas Adalah disyorkan untuk menggunakan pemacu storan overlay2.
# 卸载已有 docker
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

# 添加安装源
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

# 安装最新版
sudo yum install docker-ce docker-ce-cli containerd.io

# 启动
sudo yum install docker-ce docker-ce-cli containerd.io
Salin selepas log masuk

1.2, imej

pada asasnya ialah gabungan baca sahaja fail dan folder, yang mengandungi semua fail asas dan maklumat konfigurasi yang diperlukan apabila bekas sedang dijalankan. Operasi: 1. Tarik tarikan docker imej Seperti: docker pull nginx

2, namakan semula tag docker imej Contohnya: docker tag nginx:latest mynginx:latest

3 Lihat imej docker ls atau docker images

4 Padam imej docker rmiContohnya: docker rmi mynginx

5 atau docker commit Contohnya: docker commit nginx mynginx:lastest binaan buruh pelabuhan agak kompleks, tetapi ia digunakan lebih

1.3. Bekas

Bekas ialah entiti imej yang sedang dijalankan. Satu imej boleh mencipta berbilang bekas.

Kitaran hayat:

dicipta: keadaan pembinaan awal

berjalan: keadaan berjalan

berhenti: keadaan berhenti

dijeda: keadaan dijeda

dipadam: keadaan dipadam

dan mulakan:

C mulakan:

1. : docker create -it --name=mynginx mynginx

Mula: docker start mynginx

Cipta dan mulakan: docker run -it --name=mynginx mynginx

2 docker stop mynginx

3. Masukkan bekas buruh pelabuhan melampirkan mynginx docker exec -it mynginx sh (lebih banyak digunakan)

4 buruh pelabuhan rm mynginx Padamkan bekas yang sedang berjalan: docker rm -f mynginx

5 docker export mynginx > mynginx.tar

6 docker import mynginx.tar mynginx:import

1.4, gudang

menyimpan dan mengedarkan imej Docker, pelayan pendaftaran ialah pelayan sebenar di mana gudang disimpan, dan boleh mengandungi tin dan setiap gudang; mengandungi berbilang imej.

Hab docker gudang awam https://hub.docker.com/ Log masuk: log masuk buruh pelabuhan Tolak imej ke gudang: docker push

Gunakan pengedaran untuk membina gudang persendirian https://github.com/distribution/distribution

docker run -d -p 5000:5000 --name registry registry:2.7 docker push localhost:5000/mynginx

1.5, volum

boleh memintas sistem fail bersama lalai dan wujud terus pada hos dalam bentuk fail atau direktori. Ia menyelesaikan masalah kegigihan data dan perkongsian data antara bekas. Operasi: 1. Cipta: docker volume create volume-name

2 -v menentukan laluan untuk diteruskan secara automatik akan mencipta volum untuk kita dan mengikatnya pada bekas. docker run -d --name=nginx-volume -v /usr/share/nginx/html nginx

3 View: docker volume ls

4: docker volume inspect volume-name

5 Parameter -mount menentukan nama volum docker run -d --name=nginx --mount source=volume-name,target=/usr/share/nginx/html nginx

6 Padamkan jilid: docker volume rm volume-name

7 : docker run --mount source=lv,target=/tmp/log --name=v-producer -it test docker run -it --name consumer --volumes-from v-producer test

8 Perkongsian data antara volum dan hos: docker run -v /data:/usr/local/data -it test

1.6. .Komponen penting

1. Docker

  • docker, ialah klien Docker, menghantar permintaan
  • dockerd, pintu masuk pelayan, bertanggungjawab untuk menerima semula permintaan
  • bekas Proses No. 1, menguruskan sub-bekas
  • docker-proxy, memajukan trafik rangkaian hos ke kontena
  • 2, containerd

    containerd, bertanggungjawab ke atas bekas, pengurusan kitaran hayat seperti permulaan kontena, berhenti, dll...
  • containerd-shim, sebagai proses induk proses kontena, memisahkan kontena dari proses kontena sebenar
  • ctr, pelanggan kontena, menghantar permintaan kepada kontena semasa pembangunan dan penyahpepijatan
  • 3
    • runc, melalui antara muka sistem, mencipta dan memusnahkan bekas

1.7, pemantauan kontena

statistik docker boleh melihat CPU, memori IO, rangkaian IO, dll. semua bekas pada penggunaan Sumber. cAdvisor ialah penyelesaian pemantauan kontena umum sumber terbuka oleh Google. Rujukan pemasangan:

https://www.jianshu.com/p/91f9d9ec374f

Lihat pemantauan: http://localhost:8080 http://localhost:8080/containers/ http://localhost:8080/docker/

1.8, isu keselamatan

  • Kerentanan keselamatan diri
  • adalah isu keselamatan
  • dalam imej pengasingan inti hos adalah tidak mencukupi nama hos, pengguna, nama fail, rangkaian dan komunikasi antara proses dan pengasingan sumber lain.
    Docker menggunakan enam jenis: Ruang Nama Gunung, pengasingan titik lekap Ruang Nama PID, pengasingan proses Ruang Nama UTS, pengasingan nama hos Ruang Nama IPC, pengasingan komunikasi antara proses Ruang Nama Pengguna, pengasingan kumpulan pengguna dan pengguna Ruang Nama Bersih, peranti rangkaian, alamat IP dan pengasingan port

2.2, Cgroups mengehadkan sumber proses atau kumpulan proses, seperti CPU, memori, cakera IO, dsb. Fungsi cgroup:

  • Hadkan penggunaan sumber
  • Kumpulan yang berbeza boleh mempunyai keutamaan penggunaan yang berbeza untuk CPU, cakera IO dan sumber lain
  • Kira penggunaan sumber kumpulan kawalan

2.3, Sistem Fail Kesatuan

Sistem Fail Kesatuan, sistem fail ringan berlapis yang boleh bersama-sama melekapkan kandungan berbilang direktori ke dalam direktori yang sama untuk membentuk satu sistem fail.
  • Terdapat tiga sistem fail kesatuan yang paling biasa digunakan dalam Docker: AUFS, Devicemapper dan OverlayFS.
  • AUFS ialah yang terawal dan paling matang;
  • Devicemapper, rangka kerja yang disediakan oleh kernel Linux, ialah rangka kerja teknikal untuk pemetaan peranti blok. Konsep teras termasuk peranti yang dipetakan, peranti sasaran dan jadual peta, termasuk mod gelung-lvm dan mod langsung-lvm (untuk kegunaan pengeluaran
tindanan2, kemas kini lebih stabil dan sesuai untuk versi kernel Linux dan Docker); keperluannya agak tinggi.

2.4. Pelaksanaan rangkaian

CNM (Model Rangkaian Kontena) ialah standard rangkaian kontena yang dikeluarkan oleh Docker. Libnetwork ialah sumber terbuka, ditulis dalam Golang, mengikut sepenuhnya spesifikasi rangkaian CNM, dan merupakan pelaksanaan rasmi CNM. 🎜🎜Libnetwork mengandungi empat model rangkaian utama: 🎜
  • null Mod rangkaian null, tiada rangkaian kontena disediakan
  • mod jambatan jambatan, kontena boleh berkomunikasi antara satu sama lain
  • mod rangkaian hos hos, kontena boleh berkomunikasi dengan rangkaian hos
  • mod, bekas Letakkan pada rangkaian yang sama melalui temu bual Localhost

3, lain-lain yang berkaitan 3.1, susunan kontena

Docker: Docker Swarm, Kubertes Swarm Compose, Docker

Docker Compose telah diperoleh oleh Docker Ia pada asasnya ialah skrip python yang boleh mengurus dan mengatur berbilang bekas pada satu nod.

  • Docker Swarm ialah alat pengurusan kluster kontena yang dilancarkan secara rasmi oleh Docker. Ia menyokong API Docker secara asli, menyokong pengesahan dua hala TLS dan menggunakan protokol Raft untuk mencapai pengedaran.
  • Kubernetes, Google menggunakan reka bentuk teknikal dan pelaksanaan yang terkumpul oleh sistem Borg dalaman Ia berkuasa dan bertujuan untuk menyokong operasi ratusan juta kontena namun, seni binanya agak rumit dan ambang untuk bermula adalah tinggi.
  • 3.2. Peranan dalam devops

Matlamat keseluruhan DevOps adalah untuk menggalakkan kerjasama antara kakitangan pembangunan dan operasi dan penyelenggaraan, dan untuk memendekkan keseluruhan kitaran penghantaran perisian melalui cara automatik dan menambah baik. kebolehpercayaan. Pasang persekitaran pembangunan dengan pantas melalui Docker, sepadukan Fail Docker dengan cepat untuk membina imej, tarik imej dan jalankan bekas untuk melengkapkan penggunaan dan gabungkan dengan alatan orkestrasi kontena untuk mencapai keluaran biru-hijau.

Menggalakkan pembangunan DevOps.

Membolehkan integrasi dan penghantaran berterusan yang pantas.

Atas ialah kandungan terperinci Permulaan pantas Docker, konsep teras dan arahan biasa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:Java后端技术全栈
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan