MySQL docker - create database and initialize table

 

Dockerfile FROM mysql
RUN apt-get update
RUN apt install vim --assume-yes
RUN mkdir opt/blue
COPY blue.sql opt/blue
COPY priv.sql opt/blue
COPY setup.sh opt/blue
CMD ["sh", "/opt/fsd/setup.sh"]
EXPOSE 3306
blue.sql

-- create database
drop database if EXISTS bluesky;
create database bluesky;

use bluesky;

-- create table
DROP TABLE IF EXISTS bluesky;

create table bfuser (id bigint not null auto_increment, confirmed varchar(2), email varchar(255), mobile_number varchar(30), password varchar(255), role varchar(10), user_name varchar(255), verify_code varchar(255), primary key (id));

INSERT INTO bfuser (id, user_name, role, password, confirmed, email)
VALUES
    (1,'admsky','admin','111', 'Y', '[email protected]');

priv.sql

use mysql;
delete from user where user='bluesky';
flush privileges;
create user 'bluesky'@'%' identified by 'bluesky';
grant all on *.* to 'bluesky'@'%';
flush privileges;

 

setup.sh

#import data
mysql < opt/blue/blue.sql  -uroot -proot
#create user
mysql < opt/fsd/priv.sql -uroot -proot

echo 'bluesky database is created successfully'

 

1. create Dockerfile, script files, shell file setup.sh as above

2. docker build -t bluemysql:latest .

3.docker run -p 3306:3306  --name hiblue -it bluemysql /bin/bash

4. docker stop hiblue

5. docker start hiblue

6. docker exec -it hiblue /bin/bash

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章