


Tutorial paling terperinci tentang mengatur volum data buruh pelabuhan
Artikel ini memberi anda pengetahuan tentang volum data dalam docker Volume data boleh dikongsi atau digunakan semula antara bekas Perubahan dalam volum data tidak akan disertakan dalam kemas kini imej semua orang.
Pembelajaran yang disyorkan: "tutorial video buruh pelabuhan"
Apakah itu volum data
Menggunakan docker Apabila bekas dibuat, satu siri fail data akan dijanakan fail data ini akan hilang apabila bekas docker dipadamkan, tetapi beberapa kandungan yang dijana dijangka disimpan untuk tujuan lain Apabila dibungkus ke dalam bekas dan dikeluarkan, pengaturcara berharap beberapa data yang dijana semasa proses berjalan dapat dikekalkan dan kami berharap dapat berkongsi data antara bekas.
Secara umumnya, volum data bekas docker boleh dianggap sebagai cakera USB yang biasa digunakan Ia wujud dalam satu atau lebih bekas dan dipasang pada bekas oleh docker, tetapi ia bukan milik sistem fail bersama. . Docker tidak Jumlah data yang dipasang pada bekas akan dipadamkan apabila ia dipadamkan.
Ciri volum data
Jumlah data boleh berkongsi atau menggunakan semula data antara bekas
Perubahan dalam volum data boleh berkuat kuasa serta-merta
Jumlah data Perubahan akan tidak disertakan dalam kemas kini imej
Volume data akan sentiasa wujud secara lalai, walaupun bekas itu dipadamkan
Kitaran hayat volum data berterusan sehingga tiada bekas menggunakannya
Urus data dalam bekas
Jumlah Data: Jilid Data Data dalam bekas dipetakan terus ke persekitaran hos setempat
Bekas Isipadu Data: Bekas Isipadu Data Gunakan bekas tertentu untuk mengekalkan data volume
Docker common command cp
Syntax
Salin fail hos ke bekas
docker cp [OPTIONS] SRC_PATH CONTAINER:DEST_PATH
Salin fail dalam bekas ke hos
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH
Parameter biasa
-L: Simpan pautan dalam sasaran sumber
Penggunaan asas
Salin fail hos ke bekas
docker cp /data/index.html nginx:/usr/share/nginx/html/index.html
Dalam bekas Salin fail ke hos
docker cp nginx:/etc/nginx/nginx.conf /data
volume data docker
Volume data (Volume Data) ialah direktori khas yang boleh digunakan oleh satu atau lebih banyak bekas. Ia mengarahkan direktori sistem pengendalian hos ke dalam bekas.
Nota tentang volum data
Untuk melekapkan volum data, sebaiknya buat bekas permulaan melalui run dan bukannya cipta/mulakan Selepas arahan buat/mula mencipta bekas permulaan, Agak menyusahkan untuk memasang semula volum data dan memerlukan mengubah suai banyak fail konfigurasi, tetapi ia tidak mustahil.
Tapak web rasmi Docker mengesyorkan memasang direktori sebanyak mungkin dan tidak memasang fail
Jenis volum data
Volume data hos: terus pada hos Dalam sistem fail tetapi bekas boleh mengakses (bind mount)
volum data bernama: volum data yang diuruskan oleh Docker pada cakera, tetapi volum ini mempunyai nama.
Jumlah data tanpa nama: volum data yang diuruskan oleh Docker pada cakera Ia tidak mudah dicari kerana tiada nama yang mengurus fail ini.
Volume data hos
bind mounts: Data dalam bekas disimpan di mana-mana dalam sistem fail hos, walaupun dalam beberapa direktori sistem penting atau fail tengah. Proses selain daripada docker juga boleh mengubah suainya sewenang-wenangnya.
Apabila menggunakan bind mounts, direktori hos atau fail dipasang ke dalam bekas. Bekas akan menggunakan atau mengubah suai data hos mengikut laluan mutlak direktori atau fail pelekap. Direktori atau fail dalam hos tidak perlu wujud terlebih dahulu dan akan dibuat secara automatik apabila diperlukan.
Menggunakan pelekap bind adalah sangat baik dari segi prestasi, tetapi ini bergantung pada hos yang mempunyai sistem fail berstruktur dengan betul.
Bekas yang menggunakan pelekap bind boleh mengubah suai sistem fail hos melalui proses di dalam bekas, termasuk mencipta, mengubah suai dan memadam fail sistem dan direktori penting Walaupun fungsi ini sangat berkuasa, ia jelas akan menyebabkan masalah keselamatan. Kesan pada aspek, termasuk kesan pada proses selain Docker pada mesin hos
Nota
Jika anda melekapkan volum data kosong ke direktori tidak kosong dalam bekas, maka dalam ini direktori Fail akan disalin ke volum data
Jika anda melekapkan volum data bukan kosong ke direktori dalam bekas, direktori dalam bekas akan memaparkan data dalam volum data. Jika direktori dalam bekas asal mempunyai data, data asal akan disembunyikan
Penggunaan asas
Sintaks
docker run -v /宿主机绝对路径目录:/容器内目录 镜像名
Penggunaan asas
docker run -itd --name mysql --restart always --privileged=true -p 3306:3306 -e MYSQL_ROOT_PASSWORD=admin -v /data/mysql:/var/lib/mysql mysql:5.7.31 --character-set-server=utf8 --collation-server=utf8_general_ci
Kebenaran direktori kontena
Tukar kebenaran baca dan tulis melalui laluan kontena -v: ro rw ro:baca sahaja baca sahaja
rw:readwrite boleh dibaca dan ditulis
docker run - it -v /Direktori laluan mutlak hos:/Direktori kontena:ro Nama imej
docker run -it -v /Direktori laluan mutlak hos:/Direktori kontena:rw Nama imej
Contohnya:
docker run -d -P --name nginx05 -v nginx1:/etc/nginx:ro nginx docker run -d -P --name nginx05 -v nginx2:/etc/nginx:rw nginx
ro Selagi anda melihat ro, ini bermakna laluan ini hanya boleh dikendalikan melalui hos dan tidak boleh dikendalikan di dalam bekas!
Jumlah data bernama
Penggunaan asas
docker run -itd --name nginx -p 80:80 -v lagouedu-nginx:/etc/nginx nginx:1.19.3-
alpine
Lihat volum data docker volume docker ls
Lihat direktori hos lagouedu-nginx
docker volume inspect lagouedu-nginx
Masukkan direktori lalai volum data docker
cd /var/lib/docker/volumes/lagouedu-nginx
Lihat fail
ls
Semua fail docker simpan dalam direktori _data secara lalai cd _data
Padam bekas
docker rm $(docker stop $(docker ps -aq))
查看挂载数据是否还存在,通过查看数据,发现删除容器后,宿主机中的数据还存在
ls
匿名数据卷
基本使用
docker run -itd --name nginx -p 80:80 -v /etc/nginx nginx:1.19.3-alpine 查看docker数据卷 docker volume ls
查看宿主机目录
docker volume inspect dbd07daa4e40148b11....
进入docker数据卷默认目录
cd /var/lib/docker/volumes/dbd07daa4e40148b11....
查看文件
ls
所有的文件docker默认保存在_data目录中 cd _data
删除容器
docker rm $(docker stop $(docker ps -aq))
查看挂载数据是否还存在,通过查看数据,发现删除容器后,宿主机中的数据还存在
ls
数据卷容器
run命令
常用参数
--volumes-from
如果用户需要在多个容器之间共享一些持续更新的数据,最简单的方式是使用数据卷容器。数据卷容器
也是一个容器,但是它的目的是专门用来提供数据卷供其他容器挂载。
发现创建好的数据卷容器是处于停止运行的状态,因为使用 —volumes-from 参数所挂载数据卷的容器 自己并不需要保持在运行状态。
基本使用
docker run -d --name data-volume -v /data/nginx:/usr/share/nginx/html -v /data/mysql:/var/lib/mysql centos:7.8.2003 docker run -itd --name nginx01 -p 80:80 --volumes-from data-volume nginx:1.19.3- alpine echo "nginx" > /data/nginx/index.html http://192.168.198.100 docker run -itd --name nginx02 -p 81:80 --volumes-from data-volume nginx:1.19.3- alpine http://192.168.198.100:81 docker run -itd --name mysql01 --restart always --privileged=true -p 3306:3306 -e MYSQL_ROOT_PASSWORD=admin --volumes-from data-volume mysql:5.7.31 -- character-set-server=utf8 --collation-server=utf8_general_ci docker run -itd --name mysql02 --restart always --privileged=true -p 3307:3306 -e MYSQL_ROOT_PASSWORD=admin --volumes-from data-volume mysql:5.7.31 -- character-set-server=utf8 --collation-server=utf8_general_ci
推荐学习:《docker视频教程》
Atas ialah kandungan terperinci Tutorial paling terperinci tentang mengatur volum data buruh pelabuhan. 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

AI Hentai Generator
Menjana ai hentai secara percuma.

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



Langkah -langkah untuk membuat imej Docker: Tulis Dockerfile yang mengandungi arahan membina. Bina imej di terminal, menggunakan arahan membina Docker. Tag imej dan tetapkan nama dan tag menggunakan arahan tag docker.

Langkah -langkah untuk mengemas kini imej Docker adalah seperti berikut: Tarik tag imej terkini imej baru memadam imej lama untuk tag tertentu (pilihan) mulakan semula bekas (jika diperlukan)

Bagaimana cara menggunakan desktop Docker? Docktop Docktop adalah alat untuk menjalankan bekas Docker pada mesin tempatan. Langkah -langkah untuk digunakan termasuk: 1. Pasang desktop Docker; 2. Mulakan desktop Docker; 3. Buat imej Docker (menggunakan Dockerfile); 4. Membina imej Docker (menggunakan Docker Build); 5. Jalankan bekas Docker (menggunakan Docker Run).

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.

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

Untuk mendapatkan versi Docker, anda boleh melakukan langkah -langkah berikut: Jalankan arahan Docker "Docker -version" untuk melihat versi klien dan pelayan. Untuk MAC atau Windows, anda juga boleh melihat maklumat versi melalui tab versi Docktop GUI atau menu desktop Docker.

Untuk menyimpan imej di Docker, anda boleh menggunakan arahan Docker Commit untuk membuat imej baru, yang mengandungi keadaan semasa bekas yang ditentukan, Sintaks: Docker Commit [Options] Nama Imej Container ID. Untuk menyimpan imej ke repositori, anda boleh menggunakan arahan PUSH Docker, Sintaks: Docker Push Nama Imej [: TAG]. Untuk mengimport imej yang disimpan, anda boleh menggunakan arahan tarik docker, sintaks: docker tarik nama imej [: tag].

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)
