일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 파이썬
- 웹개발
- 인공지능
- Yes
- 버전관리
- 소프트웨어공학
- 데이터분석
- 자료구조
- 자바스크립트
- 머신러닝
- 데이터베이스
- 프로그래밍
- 2
- 데이터구조
- 데이터과학
- 프로그래밍언어
- 컴퓨터비전
- 컴퓨터공학
- 알고리즘
- 소프트웨어
- 코딩
- I'm Sorry
- 네트워크보안
- 딥러닝
- 클라우드컴퓨팅
- 빅데이터
- 사이버보안
- 네트워크
- 보안
- 컴퓨터과학
- Today
- Total
스택큐힙리스트
도커: 도커 컨테이너에서 호스트로 파일 복사하기 본문
저는 CI 서버 상에서 의존성을 구축하기 위해 Docker를 사용하고자 합니다. 그래서 에이전트 그 자체에 모든 런타임과 라이브러리를 설치할 필요가 없도록 할 수 있습니다.
이를 달성하기 위해서는 컨테이너 내에서 빌드 된 빌드 아티팩트를 호스트로 다시 복사해야합니다. 가능한가요?
답변 1
컨테이너에서 호스트로 파일을 복사하기 위해 아래 명령어를 사용할 수 있습니다.
docker cp
예를 들어:
$ sudo docker cp goofy_roentgen:/out_read.jpg .
다음 명령으로 얻은 컨테이너 이름은 goofy_roentgen 입니다.
$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1b4ad9311e93 bamos/openface /bin/bash 33 minutes ago Up 33 minutes 0.0.0.0:8000->8000/tcp, 0.0.0.0:9000->9000/tcp goofy_roentgen
당신은 또한 (일부) 컨테이너 ID를 사용할 수 있습니다. 다음 명령어는 첫 번째와 동일합니다.
$ sudo docker cp 1b4a:/out_read.jpg .
답변 2
도커: 도커 컨테이너에서 호스트로 파일 복사하기
도커(Docker)는 애플리케이션을 컨테이너로서 실행하는 도구로, 컨테이너 안에 필요한 모든 것을 포함할 수 있습니다. 이는 개발자 및 시스템 관리자에게 많은 장점을 제공합니다. 그러나 사용자가 컨테이너 안에 있는 파일을 호스트 머신으로 복사하려는 경우 어떻게 해야할까요?
기본적으로 도커는 컨테이너와 호스트 간에 파일 공유를 지원하지 않습니다. 그럼에도 불구하고, 파일을 복사하고 컨테이너에서 호스트로 이동하는 방법이 있습니다.
1. 컨테이너에서 파일 복사하기
먼저, 복사할 파일이 있는 컨테이너로 들어가야 합니다. 이를 위해 docker exec 명령어를 사용합니다.
$ docker exec -it
위 명령어를 실행하면, 컨테이너 쉘로 들어가게 됩니다. 이제 파일을 복사할 디렉토리로 이동하고, scp 명령어를 사용하여 파일을 호스트로 복사합니다.
$ cp /path/to/file /path/inside/container
$ scp /path/inside/container
위 명령어에서
2. 호스트에서 파일 복사하기
호스트 머신에서 컨테이너로 파일을 복사하는 것도 가능합니다. 이를 위해 docker cp 명령어를 사용합니다.
$ docker cp
위 명령어에서
이상적으로는 파일을 공유할 때 도커 볼륨을 사용하는 것이 좋습니다. 이를 통해 파일을 읽고 쓰는 것이 더욱 편리해집니다.