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.
# 卸载已有 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
3 Lihat imej docker ls atau docker images2, namakan semula tag docker imej Contohnya: docker tag nginx:latest mynginx:latest
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 mynginxMula: docker start mynginxCipta dan mulakan: docker run -it --name=mynginx mynginx2 docker stop mynginx3. 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 mynginx5 docker export mynginx > mynginx.tar6 docker import mynginx.tar mynginx:import
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 pushGunakan pengedaran untuk membina gudang persendirian https://github.com/distribution/distributiondocker run -d -p 5000:5000 --name registry registry:2.7 docker push localhost:5000/mynginx
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. Docker
docker, ialah klien Docker, menghantar permintaan - bekas Proses No. 1, menguruskan sub-bekas
dockerd, pintu masuk pelayan, bertanggungjawab untuk menerima semula permintaan - 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
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/
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
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.tindanan2, kemas kini lebih stabil dan sesuai untuk versi kernel Linux dan Docker); keperluannya agak tinggi.
- 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
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
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
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!