inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

처음 시작하는 도커와 컨테이너

[실습] Bind Mount

Bind Mount에서 마운트가 되지 않습니다. (파일/경로 동일)

476

몽상가

작성한 질문수 5

1

1. 무엇을 하고 싶으신가요?

강좌 bind mount에서 로컬과 도커 컨테이너간의 파일 또는 경로를 공유 (/usr/local/apache2/htdocs/) 를 하고자 하는데 계속 연결이 되지 않습니다.  

 

2. 언제, 어떤 오류가 발생하시나요?

 [doyoung@dockers-m:/test]$ sudo docker run --rm --name httpd -p 8080:80 \

> -v "$(pwd)"/index.html:/usr/local/apache2/htdocs/index.html:rw \

> -d httpd:2.4

a6223fce61285c77f71be99f448e28b4cdba768662030e240db12c6c3d827b55

docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error mounting "/test/index.html" to rootfs at "/usr/local/apache2/htdocs/index.html": mount /test/index.html:/usr/local/apache2/htdocs/index.html (via /proc/self/fd/6), flags: 0x5000: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type.

[doyoung@dockers-m:/test]$

3. 어떤 시도를 해보셨나요?

로컬 index.html의 권한 변경

chmod 777 index.html

 

파일 경로 변경

/home/doyoung/~~~/~

--> /test/

 

4. 작성한 코드를 공유해주세요.

sudo docker run --rm --name httpd -p 8080:80 \

-v "$(pwd)"/index.html:/usr/local/apache2/htdocs/index.html:rw \

-d httpd:2.4

 

docker docker-compose cloud-computing container

답변 2

0

천강민

안녕하세요!

디렉토리를 파일에 마운트 하려 했거나, 파일을 디렉토리에 마운트 하려 했을 때 발생하는 오류로 보입니다.

file index.html                          
index.html: HTML document text, ASCII text

file index.html
index.html: directory

위와 같이 file 명령을 통해서,

로컬 경로에 존재하는 내용이 파일인지 디렉토리인지 확인 부탁드립니다.(오류로 봐서는 index.html이 디렉토리인 것 같아 보입니다.)

감사합니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

질문자님께서 겪고 계신 문제는 로컬 시스템의 파일을 Docker 컨테이너의 특정 파일 위치에 bind mount하려 할 때 발생하는 것으로 보입니다. 여러분이 마주한 에러 메시지는 선택하신 호스트 경로가 존재하지 않거나, 파일 대신 디렉토리를 마운트하려 시도했거나 그 반대의 경우일 때 발생할 수 있습니다. 질문하신 내용과 매우 유사한 상황을 해결한 기존 답변 링크를 두 개 찾았습니다:

  1. logs 폴더가 없는 것 같습니다.

    • 깃허브 액션에서 deploy가 실패해요: 이 답변에서는 오류를 해결하기 위한 체계적인 접근 방법을 제시합니다. docker: Error response from daemon과 같은 오류 메시지를 다루고 있으며, 이는 bind mount 시 발생할 수 있는 문제입니다. 로컬 파일 또는 디렉토리의 경로 이상으로 인해 발생할 수 있는 문제에 대한 해결책을 포함하고 있습니다.
  2. Bind Mount시 오류 해결 경험 공유

    • Bind Mount시 오류 해결 경험 공유: 비록 직접적으로 파일 마운트 문제를 다루지 않지만, Docker 내에서 발생할 수 있는 경로/파일 관련 이슈를 풀어나가는 데 도움을 줍니다. 컨테이너와 파일 시스템 간 통신에서 경로 이슈는 공통적인 문제입니다.

질문자님의 오류를 바로 해결할 수 있는 구체적인 답변이 두 링크 중에 직접적으로 제공되지 않을 수도 있으나, 파일 또는 디렉토리를 컨테이너에 마운트할 때 일반적으로 접할 수 있는 경로 설정 및 권한 문제에 대한 해결 아이디어를 얻는 데 도움이 될 것입니다.

마운트 과정에서 발생하는 구체적인 로그와 에러 메시지를 통해 문제의 원인을 좁혀 나가는 것이 중요합니다. “$(pwd)”/index.html 경로와 컨테이너 내 /usr/local/apache2/htdocs/index.html 경로가 정확히 일치하는지, 그리고 해당 파일이 실제로 존재하는지 재확인 해보세요. 또한, 컨테이너 내 경로가 올바른 파일 시스템 구조를 갖추고 있는지도 검토해야 합니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Ingress 생성하기 ingressclass 질문

0

12

2

deployment 업데이트 및 롤백 실행하기 -2

1

19

2

JPA Repository 질문이 있습니다!

1

33

2

페이지네이션 처리를 쿼리에서 하는 방식 질문

1

36

1

젠킨스버전과 플러그인설치

1

34

2

디바이스 페어링 문의

0

31

2

cpu&memory 재설정하기에 질문이 있습니다.

1

45

2

시험 시작하기 전에 한 가지 질문 있습니다.

1

48

2

yml 작성하다가 에러 발생해서 문의 드립니다.

0

38

2

(강의 6분 50초 부분) Workspace 안에 index.html이 비어있음

0

32

2

섹션2. 1.5쿠버네티스_컨트롤플레인_노드와_워커_노드_그리고 kubeadm으로 쿠버네티스 직접 구성하기-v1.30 오류

0

36

2

강의순서가 바뀌어 있습니다.

0

35

1

설치수업중에 질문드립니다.

1

57

2

섹션 4의 14번 3개의 샘플파일

0

31

2

build.zip 퍄일이 없습니다.

0

41

1

18강 http리퀘스트 부분 오류

0

50

2

무중단 배포

0

57

2

workflows/deploy.yml 궁금증

0

52

2

CNI 문제 질문

1

51

2

PostgreSQL 실습시 아래 오류 발생합니다.

1

127

1

도커를 실행하기 위해 무엇이 더 필요한가요?

1

195

2

docker compose watch가 없는 명령어로 출력됩니다.

1

273

1

깃허브 액션에서 deploy가 실패해요

1

549

2

logs 폴더가 없는 것 같습니다.

1

233

1