Tutorial paling terperinci tentang mengatur volum data buruh pelabuhan

WBOY
Lepaskan: 2022-02-23 17:32:25
ke hadapan
2094 orang telah melayarinya

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.

Tutorial paling terperinci tentang mengatur volum data buruh pelabuhan

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 selepas log masuk

Salin fail dalam bekas ke hos

docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH
Salin selepas log masuk

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

Dalam bekas Salin fail ke hos

docker cp nginx:/etc/nginx/nginx.conf /data
Salin selepas log masuk

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 /宿主机绝对路径目录:/容器内目录 镜像名
Salin selepas log masuk

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

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

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

alpine

Lihat volum data docker volume docker ls

Lihat direktori hos lagouedu-nginx

docker volume inspect lagouedu-nginx
Salin selepas log masuk

Masukkan direktori lalai volum data docker

cd /var/lib/docker/volumes/lagouedu-nginx
Salin selepas log masuk

Lihat fail

ls

Semua fail docker simpan dalam direktori _data secara lalai cd _data

Padam bekas

docker rm $(docker stop $(docker ps -aq))
Salin selepas log masuk
Salin selepas log masuk

查看挂载数据是否还存在,通过查看数据,发现删除容器后,宿主机中的数据还存在

ls

匿名数据卷

基本使用

docker run -itd --name nginx -p 80:80 -v /etc/nginx nginx:1.19.3-alpine 查看docker数据卷
docker volume ls
Salin selepas log masuk

查看宿主机目录

docker volume inspect dbd07daa4e40148b11....
Salin selepas log masuk

进入docker数据卷默认目录

cd /var/lib/docker/volumes/dbd07daa4e40148b11....
Salin selepas log masuk

查看文件

ls

所有的文件docker默认保存在_data目录中 cd _data

删除容器

docker rm $(docker stop $(docker ps -aq))
Salin selepas log masuk
Salin selepas log masuk

查看挂载数据是否还存在,通过查看数据,发现删除容器后,宿主机中的数据还存在

ls

数据卷容器

run命令

常用参数

--volumes-from

如果用户需要在多个容器之间共享一些持续更新的数据,最简单的方式是使用数据卷容器。数据卷容器

也是一个容器,但是它的目的是专门用来提供数据卷供其他容器挂载。

发现创建好的数据卷容器是处于停止运行的状态,因为使用 —volumes-from 参数所挂载数据卷的容器 自己并不需要保持在运行状态。

Tutorial paling terperinci tentang mengatur volum data buruh pelabuhan

基本使用

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

推荐学习:《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!

Label berkaitan:
sumber:juejin.im
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