inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

따라하며 배우는 도커와 CI환경 [2023.11 업데이트]

docker run volume 옵션 질문 드립니다. ㅠㅠ

233

TaeUk Noh

작성한 질문수 1

0

       ┌ test_image(dir) - test_image.jpg
       ├ tmp.py
       └ result_image(dir)
 
위와 같은 file과 dir로 구성한 container하나를 만들었습니다.
tmp.py는 test_image라는 dir안의 test_image.jpg를 cv2.read로 읽은 후 이름만 result_image.jpg로 바꿔서
result_image라는 dir안에 저장하는 아주 간단한 python code입니다.
 
해당 container에 볼륨 마운트 옵션 없이 docker run을 하면 잘 구동이 됨을 확인했습니다.
$ docker run container_name 
docker run 이후 container 내부 구성은 아래처럼 됩니다. (run이 종료되면 result_image.jpg가 사라진다는 것은 이해 했습니다.)
       ┌ test_image(dir) - test_image.jpg
       ├ tmp.py
       └ result_image(dir) - result_image.jpg
 
 
여기서 제가 하고싶은 것은
위의 container에 의해 생성된 result_image.jpg를 container로부터 desktop으로 가져오는 것 입니다.
 
이를 위해 run을 할 때
$ docker run -v /usr/src/app/result_image:/result_image container_name
을 해 보았는데...안됩니다.
> container안의 result_image라는 dir과 desktop의 /result_image라는 dir을 마운트 했습니다.
 
container안의 image를 desktop으로 꺼내려면 어떻게 해야 할까요?
OS는 windows10이고, 
vscode의 powershell에서 위 명령어를 입력했습니다.
 
dockerfile은 아래와 같습니다.
------------------------------------
 
FROM python:3.7-buster  
                       
WORKDIR /usr/src/app        

RUN apt-get -o Acquire::Max-FutureTime=86400 update
RUN apt-get -y install libgl1-mesa-glx
RUN pip install --upgrade pip

COPY requirements.txt ./
RUN pip install -r requirements.txt

COPY ./ ./      

CMD ["python", "tmp.py"]    
 
------------------------------------
 
혹시 명령어가 잘못 된 걸까요?

aws docker github travis-ci 데이터 엔지니어링 cicd

답변 1

0

John Ahn

안녕하세요 !!

볼륨은   도커 컨테이너에서 호스트에 있는 파일을 참조하는 역할이기 때문에

도커 컨테이너에 있는 파일을 호스트에 복사하는 역할이랑은 다른것 같습니다. 

대신에 
https://mkyong.com/docker/how-to-copy-files-from-docker-container-to-host/
여기서 나온 명령어를 사용해서 한번 해보실래요?! 

$ docker cp <containerId>:/file/path/in/container/file /host/local/path/file

이런식으로 컨테이너 아이디와 파일 경로를 준 후에 호스트에 복사하길 원하시는 경로를 줘서 테스트를 해봐주세요 ~  

감사합니다.

0

TaeUk Noh

감사합니다.

그렇다면, 볼륨 마운트는 도커 컨테이너에 있는 파일을 호스트에서 참조하는 방식으로는  사용이 불가능한건가요?

 

그리고 한 가지 더, docker cp 명령어에서는 반드시 container의 name이 아니라 ID로 명시해야 하나요?

container ID를 사용하면 동작 하는데, container name을 사용하면 동작을 하지 않네요 ㅠ

Docker Containers간 통신 할 때 나타나는 에러 강의 질문

0

94

1

WINDOW + Vite를 사용하여 소스 코드 변경이 반영되지 않는 현상

0

100

1

도커 컨테이너 끼리 SSL 통신 시 문제가 생깁니다..

0

232

1

도표 강의 자료 사용이 불가합니다. (권한 문제)

0

152

1

Docker compose 관련 공유

0

152

1

트레비스가 유료화가 되어 테스트가 어려워 챕터8에서 고민중입니다.

0

84

1

강사님 혹시 vscode 어떤 테마 쓰시나요..?

0

306

1

The instance profile aws-elasticbeanstalk-ec2-role associated with the environment does not exist.

0

112

1

travis ci가 이제 유료화가 된 것 같습니다;;;

0

220

2

docker-compose up 에러 공유 드립니다

0

297

1

Elastic Beanstalk에서 도메인 클릭시 react 이미지가 안나오고 다른 화면이 나오는데

0

180

1

도커 빌드 시간이 너무 오래걸려요..

0

1087

2

docker-compose down 이후에도 containers에 redis가 남아 있는 이유

0

172

1

도커 볼륨이 작동이 안되는것 같아서 질문드립니다!

0

223

2

docker-compose 가 Docker Desktop 에서 빠진건가요? command not found 라고 뜨네요

0

287

1

Error response from daemon: The system cannot find the file specified.

0

227

1

draw.io 오류

0

680

1

Docker Volume 오류(reference, lowercase)

0

569

1

[섹션3 - 내가 만든 이미지 기억하기 쉬운 이름 주기] 네이밍/태그 에러

0

232

1

axios오류 문의드립니다!

0

345

1

node.js version

0

494

1

안녕하세요 마지막 강의 질문 있습니다.

0

440

1

Deploy를 계속 실패합니다.

3

1397

4

TravisCI에서 계속 에러가 납니다....

0

364

1