您的位置:首页 > 运维架构 > Docker

docker学习笔记(二)—— docker部署mysql服务

2018-03-01 16:18 821 查看

1 获取mysql官方最新docker镜像

$ sudo docker pull mysql/mysql-server:latest


耐心等待下载,完成后可以通过以下命令查看下载的镜像:

$ sudo docker images




2 创建并启动mysql服务容器

2.1 创建一个文件夹用于挂载mysql数据库文件

$ sudo mkdir /docker/mysql_data -p


2.2 生成mysql容器

$ sudo docker run --name mysql -d --restart always -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /docker/mysql_data:/var/lib/mysql mysql/mysql-server


其中,
--name mysql
:容器指定名称为
mysql
-d
:后台运行容器,并返回容器ID;
--restart always
:在容器退出时总是重启容器;
-p 3306:3306
:将宿主机的3306端口(前者)映射到容器的3306端口(后者);
-e MYSQL_ROOT_PASSWORD=123456
:设置mysql的root密码为
123456
-v /docker/mysql_data:/var/lib/mysql
:将宿主机的目录
/docker/mysql_data
映射到容器的目录
/var/lib/mysql
,用于存放容器的mysql数据库文件。

2.3 查看容器启动状态

查看已经创建的容器:

$ sudo docker ps -a


查看已经启动的容器:

$ sudo docker ps -s


若容器未启动,则通过以下命令启动:

$ sudo docker start mysql


其中
mysql
是容器名称,也可以使用CONTAINER ID(见下图)代替,如
81f7c15f9415




2.4 docker容器下命令行连接mysql数据库

首先进入mysql容器的bash终端:

$ sudo docker exec -it mysql bash


连接mysql:

$ mysql -u root -p


输入步骤2.2设置的mysql root密码,之后就可以自由操作mysql了!

2.5 通过宿主机命令行连接mysql

首先在宿主机上安装mysql客户端:

$ sudo apt-get install -y mysql-client


尝试连接:

$ mysql -h 127.0.0.1 -u root -p


输入密码后显然是连接不上的:



注意图中红框的ip,这是宿主机ip,需要在mysql中添加用户允许此ip连接,其实就跟添加允许远程用户连接mysql是一样的,例子如下:

先通过步骤2.4连接到mysql,之后添加数据库test,针对此库添加用户testuser,密码是123456

CREATE DATABASE test;
GRANT ALL PRIVILEGES ON test.* TO testuser@172.17.0.1 IDENTIFIED BY '123456';
FLUSH PRIVILEGES;




然后就可以在宿主机上连接mysql数据库了:

$ mysql -h 127.0.0.1 -u testuser -p


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  docker mysql