일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- nextJS
- vscode
- DevOps
- Xcode
- shortcut
- styling
- ReactNative
- git
- currying
- REACT
- Branch
- GitLab
- styled-components
- JavaScript
- viewcontroller
- npm install
- react-native
- js
- Swift
- npm
- Android
- HTML
- React Native
- rn
- github
- xtring.log
- commit
- ios
- ES6
- Docker
Archives
- Today
- Total
xtring.dev
Docker 입문 - 호스트와 컨테이너의 파일시스템 연결 본문
생활코딩 docker 입문수업 - 호스트와 컨테이너의 파일시스템 연결
이전 시간에 우리는 도커의 컨테이너 내부의 파일을 직접 접근하고 수정하는 일을 해보았습니다. 하지만 이는 불편하고 위험한 일들이 일어날 수 있습니다. 예를 들어서 우리가 도커 컨테이너의 파일 시스템에 접근하고 파일을 직접 수정 했는데 컨테이너를 삭제하는 일이 발생한다면 그간 작업 했던 것들이 모두 사라지게 될 수 있습니다. 컨테이너를 조심히 다루면 이러한 문제가 생기지 않을까요?
그렇지만 우리가 도커의 컨테이너를 사용하는 이유는 필요에 따라 컨테이너를 실행 시키기도 하고 정지 시키기도 하기 위해서 사용합니다. 호스트에 /Desktop/htdocs 디렉터리와 컨테이너의 /usr/local/apache2/htdocs/를 연결하여 사용하면 호스트쪽에서 파일을 제공하기 때문에 컨테이너를 올리고 내리는 것에 파일은 계속해서 유지될 수 있습니다. 실행환경은 컨테이너에게 맡기고 실제 우리가 개발할 소스코드는 호스트에게 맡기는 것이죠.
컨테이너의 파일 시스템과 호스트의 파일 시스템 연결하기
컨테이너의 파일 시스템과 호스트의 파일 시스템을 연결하는 작업을 해보겠습니다. 먼저, 로컬에 /htdocs/index.html을 생성하여 HTML 문서를 완성합니다.
이제 터미널에서 8888 포트를 통해 열려있는 웹서버를 생성하고 80번 포트와 연결하겠습니다.
$ docker run -p 8888:80 -v ~/Desktop/htdocs:/usr/local/apache2/htdocs/ httpd
-v 옵션은 volum의 약자입니다.
이렇게 하면 우리가 수정한 파일을 실행한 웹서버의 주소로 접근하게 되면 확인할 수 있습니다.
http://localhost:8888/index.html
이렇게해서 호스트(나의 컴퓨터 OS)의 파일 시스템에 있는 파일을 수정하고 노출시킬 수 있기 때문에 호스트 내에서 파일의 버전관리와 백업 정책을 수행한다던지 에디터로 코드를 수정할 수 있는 장점이 생깁니다.
반응형
'Infra. > Docker' 카테고리의 다른 글
Docker 입문 - 명령어 실행(feat. 생활코딩) (0) | 2022.01.02 |
---|---|
Docker 입문 - 네트워크(feat. 생활코딩) (0) | 2022.01.02 |
Docker 입문 - container run(feat. 생활코딩) (0) | 2022.01.02 |
Docker 입문 - image pull(feat. 생활코딩) (0) | 2022.01.02 |
Docker 입문 - 설치(feat. 생활코딩) (0) | 2022.01.02 |
Comments