작성
·
351
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
뜨지 않습니다 ㅠㅠ 원인이 무엇일까요?
답변 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
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 입니다 ㅠㅅㅠ