Detailed introduction to the location and method of saving downloaded files in Docker

PHPz
Release: 2023-04-04 13:41:02
Original
4078 people have browsed it

With the widespread use of Docker in application development and cloud computing, many users find that when downloading Docker images and containers, they do not know where these files will be saved. In this article, we will detail the location and method of saving downloaded files in Docker.

The file system structure of downloaded files in Docker

Before understanding the storage location of downloaded files in Docker, you need to first understand the file system structure of Docker images and containers.

  1. Docker image file system structure

The Docker image is a virtual file system that contains the root file system. Docker images use Union FS technology. In the image, the file systems at different layers are read-only, and only the top-most writable layer is writable.

The file structure of the Docker image file system is as follows:

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

When Docker starts the container, it will A read-write writable layer is added to the top of the image to store new files and data needed when the application is running. This writable layer is part of the container's file system.

The file structure of the Docker container file system is as follows:

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

The file storage location downloaded in Docker

The file downloaded in Docker will be saved in the image or container In the writable layer, these files can be used in the container or exported from the container to the host file system.

Here are some examples of file downloads and how to find them.

  1. Download files to the Docker image

When running the Docker image, you can use the ADD or COPY instructions in the Dockerfile to add files to the image.

The format of the ADD instruction is:

ADD source destination
Copy after login

where source is a file or directory in the host, and destination is a directory in the Docker image.

The format of the COPY instruction is:

COPY source destination
Copy after login

where source is the file or directory in the host, and destination is the directory in the Docker image.

For example, the following Dockerfile will copy the index.html file from the host to the /var/www directory in the image:

FROM nginx COPY index.html /var/www/
Copy after login

At runtime, you can use Docker's docker inspect command to find this File:

$ docker inspect [imageID] | grep "/var/www/index.html"
Copy after login
  1. Download files to Docker container

There are many ways to download files in Docker containers, including using wget, curl, scp and other commands, or you can Use the ADD and COPY instructions to copy files from the host machine.

Use wget to download files into the container:

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

The following are the steps to use wget to download files into the container:

Create an Ubuntu container:

$ docker run -it ubuntu
Copy after login

Install wget:

$ apt-get update $ apt-get install wget
Copy after login

Use wget to download the file:

$ wget http://example.com/file.txt
Copy after login

Use Docker’s docker cp command to copy the file from the container to the host:

$ docker cp [containerID]:/file.txt .
Copy after login

Use curl to download the file To the container:

Take downloading Google's logo as an example:

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

Use the ADD and COPY instructions to copy files from the host to the container:

Similar to the image, use Docker's ADD and COPY instructions can also copy files from the host to the container. These files will be saved in a writable layer local to the container.

Here is an example Dockerfile that uses the ADD instruction to copy a file from the host into a container:

FROM ubuntu ADD file.txt /app/
Copy after login

At runtime, you can use Docker's docker inspect command to find this file:

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

Summary

Files downloaded in Docker will be saved in the corresponding image or writable layer in the container. Files can be downloaded or copied from the container through Docker instructions or using common tools. Their location and methods are relatively easy to master, so you don't need to worry too much about these issues when using Docker.

The above is the detailed content of Detailed introduction to the location and method of saving downloaded files in Docker. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!