애플리케이션 개발 및 클라우드 컴퓨팅에서 Docker가 널리 사용되면서 많은 사용자는 Docker 이미지와 컨테이너를 다운로드할 때 이러한 파일이 어디에 저장될지 모른다는 사실을 알게 되었습니다. 이번 글에서는 Docker에서 다운로드한 파일을 저장하는 위치와 방법을 자세히 설명하겠습니다.
Docker에서 다운로드한 파일의 파일 시스템 구조
Docker에서 다운로드한 파일의 저장 위치를 이해하기 전에 먼저 Docker 이미지와 컨테이너의 파일 시스템 구조를 이해해야 합니다.
Docker 이미지는 루트 파일 시스템을 포함하는 가상 파일 시스템입니다. Docker 이미지는 Union FS 기술을 사용합니다. 이미지에서 서로 다른 계층의 파일 시스템은 읽기 전용이며 쓰기 가능한 최상위 계층만 쓸 수 있습니다.
Docker 이미지 파일 시스템의 파일 구조는 다음과 같습니다.
/ # 根目录 |-- bin/ # 可执行文件目录 |-- dev/ # 设备文件目录 |-- etc/ # 配置文件目录 |-- home/ # 用户根目录 |-- lib/ # 库文件目录 |-- media/ # 可移动设备目录 |-- mnt/ # 挂载目录 |-- opt/ # 可选应用程序目录 |-- proc/ # 进程信息目录 |-- root/ # 系统管理员目录 |-- run/ # 运行时文件目录 |-- sbin/ # 系统可执行文件目录 |-- srv/ # 服务目录 |-- sys/ # 系统文件目录 |-- tmp/ # 临时文件目录 |-- usr/ # 用户程序目录 |-- var/ # 可变数据目录 `-- docker/ # Docker自身用目录
Docker가 컨테이너를 시작할 때 저장을 위해 이미지의 최상위 레이어에 읽기/쓰기 가능 레이어를 추가합니다. 애플리케이션을 실행하는 데 필요한 새 파일과 데이터입니다. 이 쓰기 가능한 레이어는 컨테이너 파일 시스템의 일부입니다.
Docker 컨테이너 파일 시스템의 파일 구조는 다음과 같습니다.
/ # 根目录 |-- bin/ # 可执行文件目录 |-- dev/ # 设备文件目录 |-- etc/ # 配置文件目录 |-- home/ # 用户根目录 |-- lib/ # 库文件目录 |-- media/ # 可移动设备目录 |-- mnt/ # 挂载目录 |-- opt/ # 可选应用程序目录 |-- proc/ # 进程信息目录 |-- root/ # 系统管理员目录 |-- run/ # 运行时文件目录 |-- sbin/ # 系统可执行文件目录 |-- srv/ # 服务目录 |-- sys/ # 系统文件目录 |-- tmp/ # 临时文件目录 |-- usr/ # 用户程序目录 |-- var/ # 可变数据目录 `-- docker/ # Docker自身用目录
Docker에서 다운로드한 파일의 저장 위치
Docker에서 다운로드한 파일은 이미지 또는 컨테이너의 쓰기 가능한 레이어에 저장됩니다. 컨테이너에서 사용되는 컨테이너에 저장되며 컨테이너에서 호스트 파일 시스템으로 내보낼 수도 있습니다.
다음은 파일 다운로드의 몇 가지 예와 이를 찾는 방법입니다.
Docker 이미지를 실행할 때 Dockerfile의 ADD 또는 COPY 지침을 사용하여 이미지에 파일을 추가할 수 있습니다.
ADD 명령의 형식은 다음과 같습니다.
ADD source destination
여기서 소스는 호스트의 파일 또는 디렉터리이고 대상은 Docker 이미지의 디렉터리입니다.
COPY 명령의 형식은 다음과 같습니다.
COPY source destination
여기서 소스는 호스트의 파일 또는 디렉터리이고 대상은 Docker 이미지의 디렉터리입니다.
예를 들어 다음 Dockerfile은 index.html 파일을 호스트에서 이미지의 /var/www 디렉터리로 복사합니다.
FROM nginx COPY index.html /var/www/
런타임에 Docker의 dockerspec 명령을 사용하여 이 파일을 찾을 수 있습니다.
$ docker inspect [imageID] | grep "/var/www/index.html"
wget, cur, scp 등과 같은 명령을 사용하는 것을 포함하여 Docker 컨테이너에서 파일을 다운로드하는 방법에는 여러 가지가 있습니다. ADD 및 COPY 지침을 사용하여 Docker 컨테이너에서 파일을 복사할 수도 있습니다. 주인.
wget을 사용하여 컨테이너에 파일 다운로드:
$ docker run -it ubuntu wget http://example.com/file.txt
다음은 wget을 사용하여 컨테이너에 파일을 다운로드하는 단계입니다.
Ubuntu 컨테이너 만들기:
$ docker run -it ubuntu
wget 설치:
$ apt-get update $ apt-get install wget
다음을 사용하여 파일 다운로드 wget:
$ wget http://example.com/file.txt
Docker의 docker cp 명령을 사용하면 컨테이너에서 호스트로 파일이 복사됩니다.
$ docker cp [containerID]:/file.txt .
컬을 사용하여 파일을 컨테이너에 다운로드합니다.
Google 로고 다운로드를 예로 들어 보겠습니다.
$ docker run -it ubuntu curl -o google_logo.png https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png
ADD 및 COPY를 사용합니다. 호스트에서 컨테이너로 파일을 복사하는 지침:
이미지와 유사하게 Docker의 ADD 및 COPY 지침을 사용하여 호스트에서 컨테이너로 파일을 복사할 수도 있습니다. 이러한 파일은 컨테이너의 로컬 쓰기 가능한 레이어에 저장됩니다.
다음은 ADD 명령을 사용하여 호스트에서 컨테이너로 파일을 복사하는 Dockerfile의 예입니다.
FROM ubuntu ADD file.txt /app/
런타임에 이 파일은 Docker의 docker 검사 명령을 사용하여 찾을 수 있습니다.
$ docker inspect [containerID] | grep "/app/file.txt"
요약
다운로드된 파일 Docker에서 쓰기 가능한 레이어는 해당 이미지나 컨테이너에 저장되며, Docker 지침이나 일반 도구를 사용하여 컨테이너에서 파일을 다운로드하거나 복사할 수 있습니다. 해당 위치와 방법은 상대적으로 익히기 쉽기 때문에 Docker를 사용할 때 이러한 문제에 대해 너무 걱정할 필요가 없습니다.
위 내용은 다운로드한 파일을 Docker에 저장하는 위치와 방법에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!