컨테이너가 삭제되면 데이터도 삭제
- Mysql DB 컨테이너 등 DB 혹은 스토리지 컨테이너의 데이터가 사라지는 문제가 있음
docker run -d --name mydb --env=MYSQL_ROOT_PASSWORD=mypass --env=MYSQL_USER=myuser1 --env=MYSQL_PASSWORD=userpass --env=MYSQL_DATABASE=userdb mysql:5.7
- 컨테이너 내의 추가,수정된 데이터가 컨테이너가 삭제되면 같이 삭제되므로 데이터를 계속 사용할수 없다.
외부 스토리지 연결
- 컨테이너에서 작업한 데이터를 영구적으로 사용하기 위해서는
- -> 컨테이너 데이터를 외부 스토리지에 저장
- 옵션은 -v
$ docker run -d --name mydb2 --env=MYSQL_ROOT_PASSWORD=mypass --env=MYSQL_USER=myuser1 \
--env=MYSQL_PASSWORD=userpass --env=MYSQL_DATABASE=userdb -v /var/db:/var/lib/mysql mysql:5.7
$ docker exec -it mydb2 /bin/bash
root@92c9ce7991cf:/# mysql -u myuser1 -pmypass
mysql> create table mytable
(id char(10), name varchar(20), addr varchar(80));
Query OK, 0 rows affected (0.02 sec)
mysql> insert into mytable
-> values('sunhee','lee sunhee','Seoul');
Query OK, 1 row affected (0.00 sec)
mysql> select * from mytable
-> ;
+--------+------------+-------+
| id | name | addr |
+--------+------------+-------+
| sunhee | lee sunhee | Seoul |
+--------+------------+-------+
1 row in set (0.00 sec)
mysql> exit
- 컨네이너 삭제후 컨테이너를 다시 실행하면 db 레코드를 그대로 사용할수 있다