728x90
반응형
출처 : 그림과 실습으로 배우는 도커 & 쿠버네티스
파일 복사
- 파일 복사는 컨테이너 -> 호스트, 호스트 -> 컨테이너로 양방향 모두 가능하다.
- 호스트 쪽 파일은 어디에 위차한 파일이라도 복사 가능하다.
- 컨테이너 쪽에서는 파일을 복사할 경로를 지정할 수 있다.
파일 복사 커맨드
- Windows나 MacOS는 drag and drop으로 파일을 복사할 수 있지만 도커는 파일 복사 커맨드를 사용한다.
- cp 커맨드 뒤로 원본 경로, 복사할 경로 순서로 입력한다.
- 호스트 -> 컨테이너 복사 커맨드
- docker cp 호스트_경로 컨테이너_이름:컨테이너_경로
- 컨테이너 -> 호스트 복사 커맨드
- docker cp 컨테이너_이름:컨테이너_경로 호스트_경로
호스트 경로의 예
- 호스트(도커 엔진을 실행하는 컴퓨터) 내 파일 위치는 어디라도 괜찮다.
- 파일의 위치는 '경로' 형태로 작성한다. 여기서 경로는 컴퓨터 속 파일이나 디렉토리의 주소를 나타낸다.
- ex) C:\Users\사용자명\Documents\파일명
- /home/사용자명/파일명
Index.html 파일 만들기
- 아파치 컨테이너의 경우 index.html 파일을 만들면 파일의 내용이 초기 화면보다 우선해 표시된다.
- 메모장이나 텍스트 에디터를 사용해 index.html 파일을 생성한다.
- 내용을 작성하고 index.html이라는 이름으로 저장한다. 파일을 저장할 때 html을 선택하거나 파일명에 포함해 작성한다.
- 인코딩이 UTF-8인지 확인한다.
- 작성한 파일을 문서 폴더나 홈 디렉토리에 둔다.
[실습] 호스트의 파일 -> 컨테이너 속으로 복사
- 아파치 컨테이너에 index.html 파일을 복사한다.
- 아파치에 접근해 index.html 파일의 내용이 출력되는지 확인한다.
실습 내용
- 아파치 컨테이너 생성 및 실행
- 파일 복사
- 확인
컨테이너 정보
- 컨테이너 이름
- zw_apache
- 이미지 이름
- httpd
- 포트 설정
- 8089:80
실습
메모장을 열고 다음 내용을 입력한다.
<html>
<meta charset="utf-8"/>
<body>
<div>
입력하고 싶은 내용 입력
</div>
</body>
</html>
파일을 저장하고 이름을 index.html 로 저장한다. 인코딩이 UTF-8 인지 확인한다.
docker run --name zw_apache -d -p 8089:80 httpd
아파치 컨테이너를 만든다. 이름은 zw_apache, 포트 번호는 8089를 사용한다.
웹 브라우저를 열고 http://localhost:8089 로 접속하면 아파치 초기 화면이 출력된다.
docker cp C:\Users\zangw\OneDrive\문서\docker_ex\index.html zw_apache:/usr/local/apache2/htdocs/
우리가 위에서 생성한 index.html 파일을 아파치 컨테이너의 /usr/local/apache2/htdocs/ 디렉토리로 복사한다.
웹 브라우저를 새로 고침하면 우리가 index.html 파일에 작성한 블로그 주인장에 간절한 소망이 담긴 내용이 출력된다.
[실습] 컨테니어 파일 -> 호스트로 복사
- 이번에는 아파치 컨테이너의 index.html 파일을 호스트 쪽으로 다시 복사한다.
- 새로 복사한 파일을 구별할 수 있도록 먼저 호스트에 있는 파일의 이름을 index2.html로 변경한다.
실습 내용
- 아파치 컨테이너 생성 및 실행
- 파일 복사
- 확인
실습
새로 복사할 index.html과 구분하기 위해 기존의 index.html 파일명을 변경한다.
docker cp zw_apache:/usr/local/apache2/htdocs/index.html C:\users\zangw\OneDrive\문서\docker_ex\
아파치 컨테이너에 복사해 뒀던 index.html 파일을 호스트 컴퓨터로 복사한다.
복사한 폴더로 가보면 index.html 파일이 복사된 것을 확ㄷ인할 수 있다.
docker stop zw_apache
docker rm zw_apache
docker image rm httpd
zw_apache 컨테이너를 중지 및 제거하고 아파치 이미지를 제거한다.
728x90
반응형
'Study > 도커와 쿠버네티스 (Docker & Kubernetes)' 카테고리의 다른 글
컨테이너로 이미지 만들기 (0) | 2024.02.14 |
---|---|
볼륨 마운트와 바인드 마운트 (0) | 2024.02.13 |
컨테이너에 워드프레스 구축 (8) | 2024.02.10 |
도커 이미지 삭제 (0) | 2024.02.09 |
아파치, Nginx, MySQL 컨테이너 생성 (1) | 2024.02.09 |