클라우드 컴퓨팅의 급속한 발전으로 Docker는 많은 기업과 클라우드 서비스 제공업체의 표준 배포 플랫폼이 되었습니다. Docker 컨테이너를 사용할 때 호스트와 컨테이너 간에 파일을 전송해야 하는 경우가 종종 있으며 이러한 요구 사항으로 인해 파일 복사가 필요한 기술이 됩니다. 이 문서에서는 Docker 컨테이너에 파일을 복사하는 방법을 소개합니다.
1. docker cp 명령 사용
Docker는 호스트와 컨테이너 간에 파일을 복사할 수 있는 특수 명령 docker cp를 제공합니다. 구체적인 사용법은 다음과 같습니다.
docker cp <src_path> <container_id>:<dest_path> docker cp <container_id>:<src_path> <dest_path></dest_path></src_path></container_id></dest_path></container_id></src_path>
그 중 <src_path></src_path>
와 <dest_path></dest_path>
는 각각 소스 경로와 대상 경로를 나타내며, <container_id> ;</container_id>
는 컨테이너 ID를 나타냅니다. <src_path></src_path>
和<dest_path></dest_path>
分别表示源和目标路径,<container_id></container_id>
表示容器ID。
例如,要将宿主机中的文件/home/user/file.txt
复制到容器中的/var/www/
目录下,可以执行以下命令:
docker cp /home/user/file.txt <container_id>:/var/www/</container_id>
同样的,如果想要将容器中的文件/var/log/nginx/access.log
复制到宿主机的/home/user/
目录下,可以执行以下命令:
docker cp <container_id>:/var/log/nginx/access.log /home/user/</container_id>
需要注意的是,如果<dest_path></dest_path>
以/
结尾,表示目标路径是一个目录,此时需要保证目标路径存在。如果<dest_path></dest_path>
不以/
结尾,表示目标路径是一个文件,此时需要保证目标路径的上层目录存在。
2. 使用共享文件夹
另一个向Docker容器下拷贝文件的方法是使用共享文件夹。这个方法的前提条件是在创建容器时需要把宿主机的目录映射到容器内部,这个映射可以通过-v
或--mount
选项来完成:
docker run -v <host_dir>:<container_dir> <image_name></image_name></container_dir></host_dir>
或者
docker run --mount type=bind,source=<host_dir>,target=<container_dir> <image_name></image_name></container_dir></host_dir>
其中,<host_dir></host_dir>
表示宿主机中的目录,<container_dir></container_dir>
表示容器中的目录。 接下来,容器内部就可以像使用本地目录一样使用映射目录。
在这种情况下,对于需要传输的文件,只需要将它们放在映射目录下,就可以在容器中访问它们。同样地,容器中生成的文件也可以放在映射目录下,然后在宿主机上访问和处理。
3. 使用Docker Volume
使用Docker Volume也是向Docker容器下拷贝文件的另一种方法。与共享文件夹相似,使用Docker Volume时创建容器时需要把一个宿主机的目录挂载到容器内部。不同的是,这个挂载动作会在Docker守护进程中创建一个标准卷,并将这个卷与容器内的目录关联起来。这使得宿主机和容器之间可以高效地共享文件,而不依赖本地文件系统。
具体使用方法如下:
docker run -v <volume_name>:<container_dir> <image_name></image_name></container_dir></volume_name>
或者
docker run --mount type=volume,source=<volume_name>,target=<container_dir> <image_name></image_name></container_dir></volume_name>
其中,<volume_name></volume_name>
表示Docker守护进程中标准卷的名称,<container_dir></container_dir>
表示容器中的路径。与共享文件夹不同的是,Docker Volume需要显式地创建和删除。它可以通过以下命令来完成:
docker volume create <volume_name> docker volume rm <volume_name></volume_name></volume_name>
最后,可以通过以下命令来在宿主机和容器之间复制文件:
docker cp <file_path> <container_id>:<container_dir> docker cp <container_id>:<container_dir> <file_path></file_path></container_dir></container_id></container_dir></container_id></file_path>
在这里,<file_path></file_path>
表示本地路径,<container_id></container_id>
表示容器ID,<container_dir></container_dir>
/home/user/file.txt
파일을 컨테이너의 /var/www/
디렉터리에 복사하려면 다음을 실행하면 됩니다. 다음 명령 :rrreee
마찬가지로 컨테이너의/var/log/nginx/access.log
파일을 /home/user/
디렉터리에 복사하려는 경우 호스트의 경우 다음 명령을 실행할 수 있습니다: rrreee
<dest_path></dest_path>
가 /
로 끝나면 대상 경로가 디렉터리이며 대상 경로가 존재하는지 확인해야 합니다. <dest_path></dest_path>
가 /
로 끝나지 않으면 대상 경로가 파일이라는 의미입니다. 이 경우 대상의 상위 디렉터리를 확인해야 합니다. 경로가 존재합니다. 🎜🎜2. 공유 폴더 사용🎜🎜Docker 컨테이너에 파일을 복사하는 또 다른 방법은 공유 폴더를 사용하는 것입니다. 이 방법의 전제 조건은 컨테이너를 생성할 때 호스트 디렉터리가 컨테이너 내부에 매핑되어야 한다는 것입니다. 이 매핑은 -v
또는 --mount를 통해 완료할 수 있습니다. code> 옵션: 🎜 rrreee🎜or🎜rrreee🎜 여기서 <host_dir></host_dir>
는 호스트의 디렉터리를 나타내고 <container_dir></container_dir>
는 컨테이너의 디렉터리를 나타냅니다. 다음으로, 매핑된 디렉터리를 로컬 디렉터리처럼 컨테이너 내부에서 사용할 수 있습니다. 🎜🎜이 경우 전송해야 하는 파일의 경우 해당 파일을 매핑된 디렉터리에 배치하기만 하면 컨테이너에 있는 파일에 액세스할 수 있습니다. 마찬가지로 컨테이너에서 생성된 파일도 매핑된 디렉터리에 배치된 다음 호스트에서 액세스하고 처리할 수 있습니다. 🎜🎜3. Docker 볼륨 사용🎜🎜Docker 볼륨을 사용하는 것은 파일을 Docker 컨테이너에 복사하는 또 다른 방법입니다. 공유 폴더와 마찬가지로 Docker 볼륨을 사용하여 컨테이너를 생성하는 경우 호스트 디렉터리를 컨테이너에 탑재해야 합니다. 차이점은 이 탑재 작업이 Docker 데몬에 표준 볼륨을 생성하고 이 볼륨을 컨테이너 내의 디렉터리와 연결한다는 것입니다. 이를 통해 로컬 파일 시스템에 의존하지 않고 호스트와 컨테이너 간에 효율적인 파일 공유가 가능해집니다. 🎜🎜구체적인 사용법은 다음과 같습니다. 🎜rrreee🎜 또는 🎜rrreee🎜 여기서 <volume_name></volume_name>
는 Docker 데몬 프로세스의 표준 볼륨 이름을 나타내고 <container_dir> </container_dir>
는 의 컨테이너 경로를 나타냅니다. 공유 폴더와 달리 Docker 볼륨은 명시적으로 생성하고 삭제해야 합니다. 다음 명령을 사용하면 됩니다. 🎜rrreee🎜마지막으로 다음 명령을 사용하면 호스트와 컨테이너 간에 파일을 복사할 수 있습니다. 🎜rrreee🎜여기서 <file_path></file_path>
는 로컬 경로를 나타내고, <container_id></container_id>
는 컨테이너 ID를 나타내고, <container_dir></container_dir>
는 컨테이너의 디렉터리를 나타냅니다. 🎜🎜결론🎜🎜Docker 컨테이너를 사용하는 과정에서 파일 복사는 종종 해야할 일입니다. 이 문서에서는 docker cp 명령, 공유 폴더 및 Docker 볼륨을 사용하여 Docker 컨테이너에 파일을 복사하는 세 가지 방법을 소개합니다. 이러한 방법에는 장점과 단점이 있습니다. 실제로는 특정 요구 사항에 따라 가장 적합한 방법을 선택해야 합니다. 🎜
위 내용은 도커 컨테이너에 파일을 복사하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Docker는 Linux의 응용 프로그램 배포 및 관리를 단순화합니다. 1) Docker는 응용 프로그램과 그 종속성을 경량 및 휴대용 컨테이너로 포장하는 컨테이너화 된 플랫폼입니다. 2) Linux에서 Docker는 CGroup 및 네임 스페이스를 사용하여 컨테이너 격리 및 리소스 관리를 구현합니다. 3) 기본 사용에는 이미지를 당기고 컨테이너를 실행하는 것이 포함됩니다. DockerCompose와 같은 고급 사용법은 다중 컨테이너 응용 프로그램을 정의 할 수 있습니다. 4) 일반적으로 사용되는 DockerLogs 및 DockerExec 명령 디버그. 5) 성능 최적화는 다단계 구성을 통해 이미지 크기를 줄일 수 있으며 Dockerfile을 단순하게 유지하는 것이 가장 좋은 방법입니다.

Docker는 응용 프로그램을 패키지, 배포 및 실행하는 데 사용되는 Linux 컨테이너 기술 기반 도구입니다. 1) DockerBuild 및 Dockerrun 명령을 사용하여 Docker 컨테이너를 구축하고 실행할 수 있습니다. 2) DockerCompose는 마이크로 서비스 관리를 단순화하기 위해 멀티 컨테이너 Docker 응용 프로그램을 정의하고 실행하는 데 사용됩니다. 3) 다단계 구성을 사용하면 이미지 크기를 최적화하고 응용 프로그램 시작 속도를 향상시킬 수 있습니다. 4) 컨테이너 로그보기는 컨테이너 문제를 디버깅하는 효과적인 방법입니다.

Docker Container Startup 단계 : 컨테이너 이미지를 당기기 : "Docker Pull [Mirror Name]"을 실행하십시오. 컨테이너 생성 : "docker"[옵션] [미러 이름] [명령 및 매개 변수]를 사용하십시오. 컨테이너를 시작하십시오 : "Docker start [컨테이너 이름 또는 ID]"를 실행하십시오. 컨테이너 상태 확인 : 컨테이너가 "Docker PS"로 실행 중인지 확인하십시오.

Docker Logs를 보는 방법에는 다음이 포함됩니다. Docker Logs 명령 사용 : Docker Logs Container_name Docker Exec 명령을 사용하여 RUN /BIN /SH를 사용하여 로그 파일을 봅니다. cat /var/log/container_name.log docker-compose logs docker compose의 명령 : docker-compose -f docker-com 사용

단계를 따르면 Docker 컨테이너 이름을 쿼리 할 수 있습니다. 모든 컨테이너 (Docker PS)를 나열하십시오. 컨테이너 목록을 필터링합니다 (GREP 명령 사용). 컨테이너 이름 ( "이름"열에 위치)을 가져옵니다.

Docker에서 컨테이너 만들기 : 1. 이미지를 당기기 : Docker Pull [Mirror Name] 2. 컨테이너 만들기 : Docker Run [옵션] [미러 이름] [명령] 3. 컨테이너 시작 : Docker Start [컨테이너 이름]

도커 컨테이너를 종료하는 4 가지 명령 사용 Docker Kill & lt; Container_name & gt; 호스트 터미널의 명령 (힘 출구)

Docker의 외부 호스트에 파일을 복사하는 방법 : Docker CP 명령 사용 : Docker CP 실행 [옵션] & lt; 컨테이너 경로 & gt; & lt; 호스트 경로 & gt;. 데이터 볼륨 사용 : 호스트에서 디렉토리를 만들고 -V 매개 변수를 사용하여 양방향 파일 동기화를 달성하기 위해 컨테이너를 만들 때 컨테이너에 디렉토리를 장착하십시오.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

WebStorm Mac 버전
유용한 JavaScript 개발 도구
