Docker 데이터 관리

1. Volume ( -v 옵션)
- 볼륨에 저장한 데이터는 도커 데몬에서 관리한다.
- 형식
: -v 볼륨이름:마운트경로:옵션
> 볼륨이름 : 이름이 있는 볼륨의 경우 볼륨 이름을, 이름이 없는 볼륨의 경우는 생략한다.
호스트에서 유일한 값을 가져야 한다.
> 마운트 경로 : 파일이나 디렉터리가 컨테이너에 마운트되는 경로이다.
> 옵션 : ro (읽기 전용)과 같이 추가 명령어
- 사용 예시
1) 볼륨 생성
2) 생성한 볼륨을 사용하는 컨테이너를 실행
3) 동일 볼륨을 사용하는 컨테이너를 추가로 실행
4) 컨테이너 생성 시 -v 옵션에 볼륨 이름을 명시해서 새로운 볼륨을 생성
- 삭제 방법
2. bind mount (--mount 옵션) 사용하는 방법
- 데이터를 디렉터리에 저장하여 관리한다.
- 형식
: --mount <key>=<value>,<key>=<value>,... 의 형식을 가지는데 순서는 중요하지 않고, 공백은 포함될 수 없다.
- <key> 자리에 올 수 있는 것
1) type : 마운트 유형 (bind, volume, tmpfs 등)
2) source 또는 src : 마운트 소스
3) destination 또는 dst : 파일이나 디렉터리가 컨테이너에 마운트되는 경로
4) readonly : 읽기 전용
- 사용 예시
1) MySQL 이미지를 이용해서 데이터베이스 컨테이너를 실행
2) 워드프레스 이미지를 이용해서 웹 앱 컨테이너를 실행
3) 호스트 볼륨 확인 (디렉터리 확인으로 파일 존재 확인. 아래 디렉터리의 파일들이 모두 공유되고 있다.)
4) 컨테이너를 모두 삭제 후 호스트 볼륨 확인
컨테이너가 삭제되더라도 호스트의 파일시스템에 저장하기 때문에 컨테이너가 삭제되더라도 디렉터리에 유지된다.
5) 디렉터리가 아닌 파일단위 공유 가능, -v 옵션을 여러 개 사용하는 것도 가능
3. 볼륨과 관련된 속성
1) read-only 볼륨 (ro 옵션)
ro 속성(read-only)이 설정되면 읽기만 가능하고 쓰기가 불가능해진다.
2) anonymous 볼륨
: 볼륨 이름을 부여하지 않으면 해시 형태의 이름이 자동으로 생성 및 부여되는 기능
Docker Network
bridge : 도커 컨테이너가 기본적으로 연결되는 네트워크
host : bridge 네트워크가 기본적으로 공유하는 네트워크
none :
2. 컨테이너가 사용하고 있는 네트워크를 확인
3. 네트워크 생성 및 연결
1) 네트워크 생성
2) 컨테이너를 네트워크에 연결
docker network connect web-network my-todo-app
3) web-network 상세 정보를 확인
4) web-network 삭제
4. 컨테이너를 시작할 때 네트워크를 생성, 지정
5. centos 이미지를 이용해 mycentos 이름의 컨테이너를 실행하고
my-todo-app, my-todo-app2, mycentos 컨테이너가 사용하고 있는 네트워크를 확인
- 요약
| container | IP | Network Name |
| my-todo-app | 172.17.0.3/16 | bridge |
| my-todo-app2 | 172.18.0.2/16 | mybridgenetwork |
| mycentos | 172.17.0.4/16 | bridge |
6. mycentos 컨테이너에서 my-todo-app & my-todo-app2 컨테이너로의 접속 여부 확인
7. mycentos 컨테이너를 my-todo-app2 컨테이너가 연결되어 있는 mybrigemetwork 네트워크로 연결 후 확인
8. 컨테이너 이름으로 네트워크에 접근
생성한 네트워크(mybridgenetwork)를 이용하면 IP 주소와 컨테이너 이름 둘 중 어느 방법으로도 접속이 가능하다.
9. 기본 bridge 네트워크를 사용하는 네트워크를 생성하고 조회
10. mycentos-2 컨테이너에서 mycentos 컨테이너로 연결을 확인
11. --link 옵션을 사용해서 기본 bridge 네트워크를 사용하는 컨테이너를 실행
- 여기서 mycentos-1은 별명(alias)
12. mycentos-3 컨테이너에서 mycentos 컨테이너로 연결 확인
13. mycentos의 hosts 파일 확인
1) mycentos-3
2) mycentos-2
3) mycentos
워드프레스?
--link 명령어
: 같은 호스트 상에서 다른 컨테이너를 참조하고자 할 때 사용한다.
'Study > seSAC 금천 4기' 카테고리의 다른 글
| 컨테이너 Orchestration_2일차_240925 (0) | 2024.09.30 |
|---|---|
| 컨테이너 Orchestration_1일차_240924 (0) | 2024.09.30 |
| 컨테이너 애플리케이션 개발_3일차_240920 (1) | 2024.09.30 |
| 컨테이너 애플리케이션 개발_2일차_240919 (0) | 2024.09.30 |
| 컨테이너 애플리케이션 개발_1일차_240912 (1) | 2024.09.26 |