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
相关文章推荐
- Zeroc Ice 学习笔记--Docker 部署服务
- Docker学习笔记六 使用Docker构建服务
- Docker学习笔记 - Docker容器内部署redis
- Docker学习笔记之Docker部署Java web系统
- SpringCloud | Docker 学习系列 | Kubernetes 学习 将SpringCloud Eureka 服务注册与发现部署到docker中并放入到Kubernetes中管理
- docker学习笔记(三)—— docker部署httpd+php7.1
- Docker笔记一:基于Docker容器构建并运行 nginx + php + mysql ( mariadb ) 服务环境
- MySQL学习2 使用docker建立mysql服务
- Zeroc Ice 学习笔记--IceGrid服务部署
- 携程 Apollo 配置中心 | 学习笔记(四) | 详细介绍携程Apollo配置中心部署至Docker容器
- Kubernetes--学习笔记-2-安装配置和服务部署
- Docker学习笔记三:Docker部署Java web系统
- linux学习笔记-工程师技术:HTTP服务基础(Web服务基本搭建)、网页内容访问、安全Web服务、动态网站的部署
- FTP服务学习笔记之基于MySQL+PAM的vsftpd虚拟用户
- Docker学习笔记之k8s部署方法
- MySQL学习笔记--启动停止服务
- Linux 第十周学习笔记(2)smtp服务的部署
- Docker学习笔记(2)——创建实现SSH服务的Docker容器
- Docker学习笔记——Docker安装部署
- MySQL学习笔记(一)MAC系统下 MySQL服务启用、停止、卸载