>운영 및 유지보수 >Docker >호스트 파일을 Docker에 복사하는 방법

호스트 파일을 Docker에 복사하는 방법

PHPz
PHPz원래의
2023-04-18 17:07:395804검색

Docker를 사용하면 애플리케이션을 빠르게 구축, 배포 및 관리할 수 있기 때문에 요즘 소프트웨어 개발에 Docker를 사용하는 것이 주류가 되었습니다. Docker는 이식성과 경량 기능으로 인해 컨테이너를 생성하고 실행하는 데 널리 사용됩니다. 그러나 많은 사람들이 Docker에서 파일을 작업할 때 몇 가지 문제에 직면할 수 있습니다. 이 문서에서는 호스트의 파일을 Docker에 쉽게 복사하는 방법을 설명합니다.

Docker에서 파일을 복사하는 방법

호스트에서 Docker로 파일을 복사하려면 Docker와 함께 제공되는 docker cp 명령을 사용할 수 있습니다. 이 명령은 호스트에서 실행 중인 Docker 컨테이너로 파일 또는 디렉터리를 복사하거나, 실행 중인 Docker 컨테이너에서 호스트로 파일을 복사할 수 있습니다. docker cp。这个命令可以将一个文件或目录从宿主机复制到正在运行的 Docker 容器中,或者从正在运行的 Docker 容器复制文件到宿主机。

语法如下:

docker cp <src_path> <container_id>:<dest_path>

这个命令非常简单,其中:

  • <src_path>:要复制的文件或文件夹的路径
  • <container_id>:Docker 容器的 ID
  • <dest_path>:要复制到的 Docker 容器中的目标路径

例如,如果你想将当前目录下的 myfile.txt 文件复制到名为 mycontainer 的 Docker 容器的 /app 目录中,你可以按如下方式操作:

docker cp myfile.txt mycontainer:/app

这个命令将 myfile.txt 文件复制到名为 mycontainer 的 Docker 容器的 /app 目录中。

要将 Docker 容器中的文件复制回宿主机,我们可以使用类似的命令:

docker cp <container_id>:<src_path> <dest_path>

其中:

  • <container_id>:Docker 容器的 ID
  • <src_path>:要复制的文件或文件夹的路径
  • <dest_path>:要复制到的宿主机中的目标路径

例如,如果你想将名为 mycontainer 的 Docker 容器中的 /app/myfile.txt 文件复制到宿主机的 ~/Downloads 目录中,你可以按如下方式操作:

docker cp mycontainer:/app/myfile.txt ~/Downloads

这个命令将 mycontainer 容器中的 /app/myfile.txt 文件复制到宿主机中的 ~/Downloads 目录中。

如何在 Dockerfile 中拷贝文件

上面的方法需要在启动 Docker 容器后手动执行命令,但如果你想在创建 Docker 镜像时自动将文件复制到容器中怎么办?不用担心,我们可以使用 Dockerfile 中的 COPY 命令来实现这一点。

COPY 命令语法如下:

COPY <src_path> <dest_path>

其中:

  • <src_path>:要复制的文件或文件夹的路径
  • <dest_path>:要复制到的 Docker 容器中的目标路径

例如,下面是一个基于官方 Python 镜像的 Dockerfile,它将当前目录下的 requirements.txt 文件复制到容器中的 /app 目录中:

FROM python:3.9-slim-buster
WORKDIR /app
COPY requirements.txt /app
RUN pip install --no-cache-dir -r requirements.txt
COPY . /app
CMD [ "python", "./app.py" ]

在这个 Dockerfile 中,COPY requirements.txt /app 命令将 requirements.txt 文件复制到 Docker 容器中的 /app 目录中。RUN 命令使用这个文件安装必要的依赖项。最后一个 COPY 命令将整个应用程序复制到容器中。

总结

在这篇文章中,我们学习了如何在 Docker 中拷贝文件。使用 docker cp 命令,我们可以将文件从宿主机复制到正在运行的 Docker 容器或从容器复制文件到宿主机。此外,在 Dockerfile 中,我们可以使用 COPY

구문은 다음과 같습니다:

rrreee

이 명령은 매우 간단합니다. 여기서: 🎜
  • <src_path>: 복사할 파일 또는 폴더의 경로li>
  • <container_id>: Docker 컨테이너의 ID
  • <dest_path>: Docker 컨테이너의 대상 경로
  • 🎜에 복사됩니다. 예를 들어 현재 디렉터리의 myfile.txt 파일을 Docker 컨테이너의 /app에 복사하려는 경우 mycontainer 디렉터리라는 이름을 사용하면 다음과 같이 할 수 있습니다. 🎜rrreee🎜이 명령은 myfile.txt 파일을 라는 Docker 컨테이너의 /app에 복사합니다. mycontainer 코드> 디렉토리. 🎜🎜Docker 컨테이너의 파일을 호스트에 다시 복사하려면 비슷한 명령을 사용할 수 있습니다. 🎜rrreee🎜위치: 🎜
    • <container_id>: Docker 컨테이너
    • <src_path>: 복사할 파일 또는 폴더의 경로
    • <dest_path>: 복사할 경로 호스트 시스템의 대상 경로
    🎜예를 들어 /app/myfile.txt 파일을 Docker 컨테이너에 저장하려는 경우 mycontainer 호스트의 ~/Downloads 디렉터리에 복사합니다. 다음과 같이 할 수 있습니다. 🎜rrreee🎜 이 명령은 /app/myfile을 다음 위치에 복사합니다. <code>mycontainer 컨테이너.txt 파일을 호스트 시스템의 ~/Downloads 디렉터리에 복사합니다. 🎜🎜Dockerfile에서 파일을 복사하는 방법🎜🎜위 방법을 사용하려면 Docker 컨테이너를 시작한 후 수동으로 명령을 실행해야 하는데, Docker 이미지 생성 시 자동으로 컨테이너에 파일을 복사하고 싶다면 어떻게 해야 할까요? 걱정하지 마십시오. Dockerfile의 COPY 명령을 사용하여 이를 달성할 수 있습니다. 🎜🎜COPY 명령 구문은 다음과 같습니다: 🎜rrreee🎜위치: 🎜
    • <src_path>: 복사할 파일 또는 폴더의 경로 복사됨
    • <dest_path>: 복사할 Docker 컨테이너의 대상 경로
    🎜예를 들어 다음은 다음을 기반으로 하는 Dockerfile입니다. 현재 디렉터리의 requirements.txt 파일을 컨테이너의 /app 디렉터리에 복사할 공식 Python 이미지: 🎜rrreee🎜이 Dockerfile에서 COPY 요구 사항.txt /app code> 명령은 <code>requirements.txt 파일을 Docker 컨테이너의 /app 디렉터리에 복사합니다. RUN 명령은 이 파일을 사용하여 필요한 종속성을 설치합니다. 마지막 COPY 명령은 전체 애플리케이션을 컨테이너에 복사합니다. 🎜🎜Summary🎜🎜이 글에서는 Docker에서 파일을 복사하는 방법을 배웠습니다. docker cp 명령을 사용하면 호스트에서 실행 중인 Docker 컨테이너로, 또는 컨테이너에서 호스트로 파일을 복사할 수 있습니다. 또한 Dockerfile에서 COPY 명령을 사용하여 호스트에서 컨테이너로 자동 복사를 수행할 수 있습니다. 🎜🎜이 글이 여러분에게 도움이 되기를 바라며 Docker 컨테이너를 더 잘 관리하고 사용할 수 있기를 바랍니다. 🎜

위 내용은 호스트 파일을 Docker에 복사하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.