Docker Network (실습)

canyi·2023년 4월 5일
0

Docker

목록 보기
4/9

실습 아키텍처

docker 컨테이너를 로컬 8888:80에서 실행시키기(호스트와 컨테이너의 파일시스템 연결)

docker run -p 8888:80 httpd

웹브라우저에서 localhost:8888 입력한 결과 컨테이너가 내부에 있는 어플리케이션과 잘 실행 되고 있는것을 확인하였다.

다시 그림을 한번 더 보면 내부적으로 8000번 포트로 호출을 했고 매핑이 80번 포트와 되 있어서 컨테이너 내부에 80포트와 연결되어 있는 Web Server가 데이터를 서빙해 주는 것을 확인 했다.

컨테이너 내의 아파치 서버의 index.html파일을 접근하고 싶을 경우

1. 실행하고 있는 도거 컨테이너 확인

  docker ps

2.컨테이너 대상으로 bash명령 하고 싶은 경우
  
  docker exec -it 컨테이너이름(아이디) /bin/bash

3. 현재 경로 확인 pwd

4. 목록 확인 ls -al

5. apt update

6. apt install nano

7. nano index.html

Docker에서 htdocs의 위치

Docker 볼륨 매핑이 수행되지 않으면 서버가 실행될 때 Apache httpd 컨테이너의 htdocs 폴더 내부에 있는 모든 항목이 웹을 통해 제공.

다음은 Docker httpd 이미지 내부의 Apache htdocs 폴더 에 대한 전체 경로 .

/usr/local/apache2/htdocs/

Docker-volume (호스트와 컨테이너의 파일시스템 & 로컬 파일시스템 연결)

docker run -p 호스트포트:컨테이너포트 -v ~/로컬 디렉토리:/아파치 서버에서 바라보는 디렉토리 httpd

docker run -p 8888:80 -v ~/d/docker/htdocs:/usr/local/apache2/htdocs/ httpd

잘 변경이 되었다는것을 확인 할수 있음!!

windows 같은 경우 경로를 입력할 경우 docker toolbox Docker Volume, Error response from daemon: invalid mode 에러가 나는데 링크 참고

profile
백엔드 개발 정리

0개의 댓글