使用docker建立mysql資料庫
最近工作需要使用mysql資料庫,便在本機使用docker建立mysql資料庫
使用docker建立資料庫
以下指令是指建立一個名為the-mysql的container,將container埠號3306榜定在本機3306,加入可調整系統NICE的權限,掛載本機dump.sql檔案成為container初始匯入的資料,設定連入的使用者,使用mysql最新的image來處理
docker run --name the-mysql \
-p 3306:3306 \
--cap-add SYS_NICE \
-v ./dump.sql:/docker-entrypoint-initdb.d/init.sql \
-e MYSQL_DATABASE=my_database \
-e MYSQL_ROOT_PASSWORD=rootpass \
-e MYSQL_USER=user \
-e MYSQL_PASSWORD=userpass \
-d mysql:latest
進入container
docker exec -it the-mysql bash登入mysql確認user可以使用倒入的(dump.sql)資料表
mysql -u user -p my_database
輸入SQL語句
show tables;
select * from {你匯入的的資料表名稱};
mysql -u user -p my_database
show tables;
select * from {你匯入的的資料表名稱};
使用compose建立
以下yml內容是指建立一個service,使用my_database作為container名稱,將container埠號3306榜定在本機3306,加入可調整系統NICE的權限,掛載本機dump.sql檔案成為database初始匯入的資料,設定連入的使用者,使用mysql最新的image來處理
version: '3.8'
services:
database:
container_name: my_database
image: docker.io/mysql:latest
cap_add:
- SYS_NICE
restart: always
environment:
MYSQL_DATABASE: my_database
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_USER: user
MYSQL_PASSWORD: userpass
ports:
- 3306:3306
volumes:
- dbvolume:/var/lib/mysql
- ./dump.sql:/docker-entrypoint-initdb.d/init.sql
volumes:
dbvolume:
driver: local
name: my_db_volume
進入container
docker-compose exec database bash登入mysql確認user可以使用倒入的(dump.sql)資料表
mysql -u user -p my_database
輸入SQL語句
show tables;
select * from {你匯入的的資料表名稱};
show tables;
select * from {你匯入的的資料表名稱};
留言