Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Pengenalan terperinci kepada lokasi dan kaedah menyimpan fail yang dimuat turun dalam Docker

Pengenalan terperinci kepada lokasi dan kaedah menyimpan fail yang dimuat turun dalam Docker

PHPz
PHPzasal
2023-04-04 10:43:114191semak imbas

Dengan penggunaan meluas Docker dalam pembangunan aplikasi dan pengkomputeran awan, ramai pengguna mendapati bahawa apabila memuat turun imej dan bekas Docker, mereka tidak tahu di mana fail ini akan disimpan. Dalam artikel ini, kami akan memperincikan lokasi dan kaedah menyimpan fail yang dimuat turun dalam Docker.

Struktur sistem fail fail yang dimuat turun dalam Docker

Sebelum memahami lokasi storan fail yang dimuat turun dalam Docker, anda perlu terlebih dahulu memahami struktur sistem fail imej dan bekas Docker.

  1. Struktur sistem fail imej Docker

Imej Docker ialah sistem fail maya yang mengandungi sistem fail akar. Imej Docker menggunakan teknologi Union FS Dalam imej, sistem fail pada lapisan yang berbeza adalah baca sahaja, dan hanya lapisan paling atas boleh tulis boleh ditulis.

Struktur fail sistem fail imej Docker adalah seperti berikut:

/                                        # 根目录
|-- bin/                                 # 可执行文件目录
|-- dev/                                 # 设备文件目录
|-- etc/                                 # 配置文件目录
|-- home/                                # 用户根目录
|-- lib/                                 # 库文件目录
|-- media/                               # 可移动设备目录
|-- mnt/                                 # 挂载目录
|-- opt/                                 # 可选应用程序目录
|-- proc/                                # 进程信息目录
|-- root/                                # 系统管理员目录
|-- run/                                 # 运行时文件目录
|-- sbin/                                # 系统可执行文件目录
|-- srv/                                 # 服务目录
|-- sys/                                 # 系统文件目录
|-- tmp/                                 # 临时文件目录
|-- usr/                                 # 用户程序目录
|-- var/                                 # 可变数据目录
`-- docker/                              # Docker自身用目录
  1. Struktur sistem fail kontena Docker

Apabila Docker memulakan bekas , ia Lapisan boleh tulis baca-tulis akan ditambah pada lapisan paling atas imej untuk menyimpan fail dan data baharu yang diperlukan semasa aplikasi berjalan. Lapisan boleh tulis ini adalah sebahagian daripada sistem fail bekas.

Struktur fail sistem fail kontena Docker adalah seperti berikut:

/                                        # 根目录
|-- bin/                                 # 可执行文件目录
|-- dev/                                 # 设备文件目录
|-- etc/                                 # 配置文件目录
|-- home/                                # 用户根目录
|-- lib/                                 # 库文件目录
|-- media/                               # 可移动设备目录
|-- mnt/                                 # 挂载目录
|-- opt/                                 # 可选应用程序目录
|-- proc/                                # 进程信息目录
|-- root/                                # 系统管理员目录
|-- run/                                 # 运行时文件目录
|-- sbin/                                # 系统可执行文件目录
|-- srv/                                 # 服务目录
|-- sys/                                 # 系统文件目录
|-- tmp/                                 # 临时文件目录
|-- usr/                                 # 用户程序目录
|-- var/                                 # 可变数据目录
`-- docker/                              # Docker自身用目录

Lokasi storan fail yang dimuat turun dalam Docker

Fail yang dimuat turun dalam Docker akan disimpan dalam imej Atau dalam lapisan bekas yang boleh ditulis, fail ini boleh digunakan dalam bekas atau dieksport dari bekas ke sistem fail hos.

Berikut ialah beberapa contoh muat turun fail dan cara mencarinya.

  1. Muat turun fail ke imej Docker

Apabila menjalankan imej Docker, anda boleh menggunakan arahan ADD atau COPY dalam Dockerfile untuk menambah fail pada imej.

Format arahan ADD ialah:

ADD source destination

Di mana, sumber ialah fail atau direktori dalam hos, dan destinasi ialah direktori dalam imej Docker.

Format arahan COPY ialah:

COPY source destination

di mana sumber ialah fail atau direktori dalam hos dan destinasi ialah direktori dalam imej Docker.

Sebagai contoh, fail Docker berikut akan menyalin fail index.html daripada hos ke direktori /var/www dalam imej:

FROM nginx
COPY index.html /var/www/

Pada masa jalan, anda boleh menggunakan docker Docker inspect command Cari fail ini:

$ docker inspect [imageID] | grep "/var/www/index.html"
  1. Muat turun fail ke bekas Docker

Terdapat banyak cara untuk memuat turun fail dalam bekas Docker, termasuk menggunakan wget, curl, scp , dsb. perintah, anda juga boleh menggunakan arahan ADD dan COPY untuk menyalin fail daripada hos.

Gunakan wget untuk memuat turun fail ke dalam bekas:

$ docker run -it ubuntu wget http://example.com/file.txt

Berikut ialah langkah-langkah untuk menggunakan wget untuk memuat turun fail ke dalam bekas:

Buat bekas Ubuntu:

$ docker run -it ubuntu

Pasang wget:

$ apt-get update
$ apt-get install wget

Muat turun fail menggunakan wget:

$ wget http://example.com/file.txt

Salin fail daripada bekas ke hos menggunakan arahan cp docker Docker:

$ docker cp [containerID]:/file.txt .

Gunakan curl untuk memuat turun fail ke dalam bekas:

Ambil muat turun logo Google sebagai contoh:

$ docker run -it ubuntu curl -o google_logo.png https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png

Gunakan arahan ADD dan COPY untuk menyalin fail daripada hos ke bekas :

Sama seperti pencerminan, fail pada hos juga boleh disalin ke bekas menggunakan arahan ADD dan COPY Docker. Fail ini akan disimpan dalam lapisan boleh tulis setempat ke bekas.

Berikut ialah contoh fail Docker yang menggunakan arahan TAMBAH untuk menyalin fail daripada hos ke dalam bekas:

FROM ubuntu
ADD file.txt /app/

Pada masa jalan, fail ini boleh ditemui menggunakan pemeriksaan docker Docker arahan:

$ docker inspect [containerID] | grep "/app/file.txt"

Ringkasan

Fail yang dimuat turun dalam Docker akan disimpan dalam imej yang sepadan atau lapisan boleh tulis dalam bekas Fail boleh dimuat turun atau disalin daripada bekas melalui arahan Docker atau menggunakan alatan biasa. Lokasi dan kaedah mereka agak mudah untuk dikuasai, jadi anda tidak perlu terlalu risau tentang isu ini apabila menggunakan Docker.

Atas ialah kandungan terperinci Pengenalan terperinci kepada lokasi dan kaedah menyimpan fail yang dimuat turun dalam Docker. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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