강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của mijungko
mijungko

câu hỏi đã được viết

Bậc thầy Kubernetes cho DevOps

Xây dựng dịch vụ Jupyter LAB bằng cách tăng âm lượng

볼륨마운트가 제대로 수행이 안됩니다.

Viết

·

481

0

# volume mount :: docker run -v {host path}:{container path}:{permission ro 읽기전용, rw 읽기 및 쓰기} 
root@ip-10-192-147-31:/var/www># docker run -d -p 8000:80 -v /var/www:/usr/share/nginx/html:ro nginx  
a028accb69bf2cfc604a36f76e3aa85ee98d2247869c909519026bae7a5a1863

# 마운트 시켜놓은 /var/www 경로에 아무것도 없어서 403 에러가 발생함
root@ip-10-192-147-31:/var/www># curl localhost:8000
<html>
<head><title>403 Forbidden</title></head>
<body>
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx/1.23.1</center>
</body>
</html>
* Connection #0 to host localhost left intact

# index.html 파일 생성
root@ip-10-192-147-31:/var/www># echo test1234 > index.html

root@ip-10-192-147-31:/root># ls -al /var/www/
합계 4
drwxr-x---  2 root root  24  9월  2 18:04 .
drwxr-xr-x 21 root root 293  9월  2 17:47 ..
-rwxrwxrwx  1 root root   9  9월  2 18:04 index.html

안녕하세요~ 호스트의 볼륨을 컨테이너에 마운트해주는 실습중 궁금한 점이 생겼습니다.

여기까지 해주고, localhost:8000 으로 접속하면 test1234 가 정상적으로 떠야할 거서 같은데요

# ...? 왜 안보이지
root@ip-10-192-147-31:/var/www># curl -v localhost:8000
*   Trying 127.0.0.1:8000...
* Connected to localhost (127.0.0.1) port 8000 (#0)
> GET / HTTP/1.1
> Host: localhost:8000
> User-Agent: curl/7.79.1
> Accept: */*
> 
* Mark bundle as not supporting multiuse
< HTTP/1.1 403 Forbidden
< Server: nginx/1.23.1
< Date: Fri, 02 Sep 2022 09:04:36 GMT
< Content-Type: text/html
< Content-Length: 153
< Connection: keep-alive
< 
<html>
<head><title>403 Forbidden</title></head>
<body>
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx/1.23.1</center>
</body>
</html>
* Connection #0 to host localhost left intact

# 컨테이너 안에 들어가면, 볼륨 마운트는 잘 되어 있음
root@b7819c1de150:/usr/share/nginx/html# cat index.html 
test1234

뜨지 않습니다 ㅠㅠ 원인이 무엇일까요?

dockerkubernetes

Câu trả lời 3

0

403 뜨니깐 권한 문제 같은데 수행하신 명령어에는 특별히 문제가 없어보입니다. 그렇다면 /var/www 폴더에 docker daemon이 접근 할 수 없을 것 같은 의심이 듭니다. 강사님 의견처럼 경로상의 권한 문제로 예상됩니다.

조금 더 심플하게 확인하려면 /var/www 경로에 권한을 777로 주시고 테스트 해보시면 어떨까 싶습니다

0

 

안녕하세요 강사 최일선입니다.

저는 실행해보니 정상 동작 합니다. 다른 문제가 아닐까 생각합니다. ㅠ

아레와 같이 실행하셔서 다시 한번 테스트 해보시길 요청드립니다.

mkdir www
docker run -d -p 8000:80 -v $(pwd)/www:/usr/share/nginx/html:ro nginx
cd www
echo test1234 > index.html

아래와 같이 내용이 잘 나타납니다.

$ curl 127.0.0.1:8000
test1234

 

감사합니다.

 

0

mijungko님의 프로필 이미지
mijungko
Người đặt câu hỏi

root@ip-10-192-147-31:/root># uname -a
Linux ip-10-192-147-31 4.14.276-211.499.amzn2.x86_64 #1 SMP Wed Apr 27 21:08:48 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

실습환경은 Amazon linux 2 입니다 ㅠㅅㅠ

Hình ảnh hồ sơ của mijungko
mijungko

câu hỏi đã được viết

Đặt câu hỏi