玩转Docker之搭建Mysql环境
可以直接使用DockerHub上的mysql镜像
$ mkdir mysql
$ cd mysql
$ docker pull mysql
$ docker run -it --name mysql -v $PWD/logs:/logs -v $PWD/conf:/etc/mysql/conf.d -p 3306:3306 -e MYSQL_ROOT_PASSWORD='123456' -d mysql
也可以使用ubuntu镜像定制自己的mysql环境
$ mkdir mysql
$ cd mysql
$ docker pull ubuntu:16.04
$ docker run -it --name mysql ubuntu:16.04
root@af55bfc0c603:/# apt update
root@af55bfc0c603:/# apt install sudo vim git openssh-server mysql-server net-tools
说明:
sudo 用来给root以外的用户(可以使用adduser命令创建)执行root权限的命令
vim linux必备文本编辑利器
git 不多说,大家都懂
openssh-server ssh服务,开启后可以不用进入容器直接使用ssh远程访问
mysql-server mysql服务
net-tools 网络工具套装(包括ifconfig等工具), 查看容器IP需要
提示: docker run命令和docker pull可以合并成docker run, 如果本地没有该镜像 会自动下载对应的镜像
进入到容器中
$ docker exec -it mysql /bin/bash
root@af55bfc0c603:/#
使用mysql命令行工具连接mysql服务并创建相应的数据库以及对应权限的用户
root@af55bfc0c603:/# mysql -u root -p
Enter password:
mysql> create db_example;
mysql> create user 'example'@'%' indentified by '123456';
mysql> grant all privileges on db_example.* to 'example'@'%' with grant option;
mysql> flush privileges;
mysql> ^DBye
root@af55bfc0c603:/#
然后修改mysql的配置, 可以修改端口号, 如果需要远程访问则注释掉/etc/mysql/mysql.conf.d/mysqld.cnf里面的
#bind_address 127.0.0.1
然后重启mysql 服务
root@af55bfc0c603:/# service mysql restart