一.拉取mariadb
获取最新版:docker pull mariadb
,或者带上版本号获取指定版本:docker pull mariadb:10.1
$ docker pull mariadb
Using default tag: latest
latest: Pulling from library/mariadb
da7391352a9b: Already exists
14428a6d4bcd: Already exists
2c2d948710f2: Already exists
22776aa82430: Pull complete
90e64230d63d: Pull complete
f30861f14a10: Pull complete
e8e9e6a3da24: Pull complete
420a23f08c41: Pull complete
bd73f23de482: Pull complete
a8690a3260b7: Pull complete
4202ba90333a: Pull complete
a33f860b4aa6: Pull complete
Digest: sha256:cdc553f0515a8d41264f0855120874e86761f7c69407b5cfbe49283dc195bea8
Status: Downloaded newer image for mariadb:latest
docker.io/library/mariadb:latest
二.创建容器运行mariadb
创建容器:docker run -p 127.0.0.1:3306:3306 --name test-db -e MARIADB_ROOT_PASSWORD=root -d mariadb
$ docker run -p 127.0.0.1:3306:3306 --name test-db -e MARIADB_ROOT_PASSWORD=root -d mariadb
f7d9a7185b91b72f457e2e4a99ab7a31e8d3dc1bbf6fa590f0c9f416fefe9b05
-p:映射端口,127.0.0.1:3306
是容器端口,3306
是主机端口
--name:将这个容器命名为:test-db
-e:设置系统级的环境变量,MARIADB_ROOT_PASSWORD
是mariadb默认的root用户密码
-d:在后端运行,创建容器后容器保持运行状态
这样就创建好了一个在后端运行的数据库容器,使用root用户和密码就可以访问这个数据库了。
进入容器操作数据库:docker exec -it test-db bash
$ docker exec -it test-db bash
root@f3b60845f17b:/#
默认是不支持中文的,需要设定改为utf8,可用locale
查看字符集
echo 'export LANG=C.UTF-8' >> /etc/profile
echo 'source /etc/profile' >> ~/.bashrc
-最好的方式是使用DOCKERFILE,在dockerfile里面添加上ENV LANG C.UTF-8
数据库初始化:
-登录mysql -u root -p
mysql -u root -p #输入root 用户密码
-创建远程登录用户 ,
格式:create user ‘用户名’@’%’ identified by ‘密码’;
create user 'us'@'%' identified by '123';
-授权(如果权限不足)
GRANT ALL PRIVILEGES ON *.* TO 'us'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;
FLUSH PRIVILEGES;
-创建数据库,设定字符集utf8,校验规则utf8_general_ci
CREATE DATABASE IF NOT EXISTS blog
CHARACTER SET utf8 COLLATE
utf8_general_ci;
网友评论