Erdeniz Ünvan
mkdir db
cd db
Container 'lar kullan at prensibine dayanir.
Mysql gibi ozellikle database olan container 'larla isimiz bittiginde icindeki bilgileri kaybetmek istemeyiz.
Belirli ozelligi olan container'larin otomatik olarak volume' i vardir.
Database containerlarinin (mysql , postgre sql, ...) container 'larin her birinin volume 'u vardir .
Container 'i stop etsen de database otomatik olarak silinmez.
Cunku amac o datanin storage 'in orada durmasi ve yeni bir container yaratildiginda o data yeni container'
da kullanilir.
#Daha once appnet isimli network oluşturmadıysan;
docker network create --subnet=[Link]/24 --gateway=[Link] appnet
docker run \
--env MYSQL_ALLOW_EMPTY_PASSWORD=yes \
--net appnet \
--ip [Link] \
-v /home/kc/db:/var/lib/mysql \
-it -d \
--name mysql57 \
mysql:5.7
docker container ls
#mysql container'ina baglan
#asagidaki komutu yaz:
docker exec -it mysql57 bash
#Container'in icindeyken
mysql
CREATE DATABASE inventory;
USE inventory;
CREATE TABLE routers (
hostname TEXT,
ip TEXT
);
INSERT INTO routers VALUES ('[Link]', '[Link]');
INSERT INTO routers VALUES ('[Link]', '[Link]');
INSERT INTO routers VALUES ('[Link]', '[Link]');
SELECT * FROM routers;
#mysql'den cik
exit
#container'dan cik
exit
#mysql container'i durdur ve database klasorunde mysql dosyalarinin halen mevcut oldugunu gor
docker container stop mysql57
#tekrardan mysql containerini calistir
docker run \
--env MYSQL_ALLOW_EMPTY_PASSWORD=yes \
--net appnet \
--ip [Link] \
-v /home/kc/db:/var/lib/mysql \
-it -d \
--name mysql57 \
mysql:5.7
#container a baglan ve container da mysql ' deki tablolari gor
docker exec -it mysql57 bash
mysql
SELECT * FROM [Link]
; exit
exit
docker container stop mysql57