[1. mysql db data 영구 보존]
-v <host path>:<container mount path>
$ docker run -d --name db -v /dbdata:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=password mysql:latest
-v <container mount path>
$ docker run -d --name db2 -v /var/lib/mysql -e MYSQL_ROOT_PASSWORD=password mysql:latest
(mysql container에 접속해서 database 생성 후, Host에 마운트된 Volume 에서 생성된 것 확인하기)
$ docker exec -it db /bin/bash
$ mysql -u root
$ create database jaewon;
$ show databases;
mysql container의 cd /var/lib/mysql 경로와
HOST의 /dbdata 경로에 생성한 데이터베이스에 대한 데이터들이 쌓여있는 것을 확인할 수 있다.
(컨테이너가 삭제된 후에도 데이터가 보존되어 있는 지 확인하기)
$ docker rm -f db
$ docker ps
$ ls /dbdata
컨테이너가 종료된 후에도 데이터들이 보존되어 있는 것을 확인할 수 있다.
※ Docker volume [command]
:볼륨과 관련된 명령어 실행
[2. 웹 데이터 readonly 서비스로 컨테이너에 지원]
Container를 수정하면 안되므로 ReadOnly 방식으로 마운트.
-v <host path>:<container mount path>:<read write mode>
$ docker run -d -v /webdata:/var/share/nginx/html:ro -p 80:80 nginx:latest
$ mkdir /webdata
$ cd /webdata/
$ echo "<h1>Test Web</h1>" > index.html
$ docker run -d --name web -v /webdata:/usr/share/nginx/html:ro -p 80:80 nginx:latest
[3. 컨테이너 간 데이터 공유]
$ docker run -v /webdata:/webdata -d --name df smlinux/df:latest
$ docker run -v /webdata:/usr/share/nginx/html:ro -d ubuntu:latest
※ df 명령어
$ df -h /
: 디스크 사용량을 모니터링 할 때 사용
(1) df -h 의 실행 결과를 10초 마다 만들어내는 컨테이너 만들기
$ cd ~
$ mkdir lab
$ cd lab
$ vi df.sh
$ vi dockerfile
$ docker build -t metalk2003/df:latest .
$ docker push metalk2003/df:latest
$ docker run -d -v /webdata:/webdata --name df metalk2003/df:latest
$ cat /webdata/index.html
(2) web server 만들기(df에서 생성하는 index.html 파일을 연결)
$ docker run -d --name web -p 80:80 -v /webdata:/usr/share/nginx/html:ro nginx:latest
$ curl localhost
※ 이성미, [따배도] 도커 시리즈 ,TTABAE-LEARN, https://www.youtube.com/watch?v=IHuU3rZATbg, 2021-10-14
'Docker > 실습' 카테고리의 다른 글
Ubuntu 에 Docker 설치 (1) | 2023.04.20 |
---|---|
[Docker-실습] 9.Container Network (0) | 2021.11.15 |
[Docker-실습] 7.Container 리소스 관리 (0) | 2021.09.09 |
[Docker-실습] 6.Container 운영 (0) | 2021.08.27 |
[Docker-실습] 5.Container Registry (0) | 2021.08.23 |