Docker部署(二):MySQL数据库

Docker 容器构建

  • 使用Dockerfile构建镜像
  • 使用官方提供的Docker镜像

所谓Dockerfile

Dockerfile是一种被Docker程序解释的脚本,Dockerfile由一条一条的指令组成,每条指令对应Linux下面的一条命令。Docker程序将这些Dockerfile指令翻译真正的Linux命令。Dockerfile有自己书写格式和支持的命令,Docker程序解决这些命令间的依赖关系,类似于Makefile。Docker程序将读取Dockerfile,根据指令生成定制的image。相比image这种黑盒子,Dockerfile这种显而易见的脚本更容易被使用者接受,它明确的表明image是怎么产生的。有了Dockerfile,当我们需要定制自己额外的需求时,只需在Dockerfile上添加或者修改指令,重新生成image即可,省去了敲命令的麻烦。

不过这里只介绍Dockerfile构建容器的步骤,接下来的文章都是以第二种方式, 使用官方提供的Docker镜像来部署

下载MySQL官方提供的Docker镜像

$ docker pull mysql:tag

:tag 是你想从官方拉取的版本(例如5.5, 5.6, 5.7 或者latest )。如果省略 tag 则拉取当前最新的版本, 即latest。

可以使用以下的命令列出下载Docker镜像:

$ docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mysql               5.7                 dd0afb9bc4a9        3 days ago          408MB
mysql               latest              dd0afb9bc4a9        3 days ago          408MB

启动MySQL服务器

$ docker run --name=mysql -e MYSQL_ROOT_PASSWORD=root -v /app/mysql:/var/lib/mysql -d mysql

--name=mysql 这个属性是为启动的MySQL容器设置一个别名

-d 以守护进程方式运行 (后台运行)

-e MYSQL_ROOT_PASSWORD在启动MySQL的时候设置密码,这里密码以root演示

-v /app/mysql/:/var/lib/mysql 通过Volume把容器内的文件映射到物理机

查看MySQL的日志

$ docker logs mysql

连接MySQL服务器

$ docker exec -it mysql mysql -u root -p

提示输入密码的时候,输入刚刚创建的时候指定的密码就ok了。现在你就能随意使用的MySQL服务器咯。

修改 MySQL密码:$ ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

容器管理

$ docker restart mysql
$ docker stop mysql
$ docker start mysql
$ docker rm mysql

注意,当你想要使用docker rm mysql 之前,请记得先停止容器(docker stop mysql)的运行。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Docker — 云时代的程序分发方式 要说最近一年云计算业界有什么大事件?Google Compute Engi...
    ahohoho阅读 15,695评论 15 147
  • docker基本概念 1. Image Definition 镜像 Image 就是一堆只读层 read-only...
    慢清尘阅读 12,847评论 1 21
  • 0. 前言 docker是什么?docker是用GO语言开发的应用容器引擎,基于容器化,沙箱机制的应用部署技术。可...
    sessionboy阅读 9,259评论 2 49
  • 0x01 核心概念 Docker镜像类似于虚拟机镜像,可以理解为一个面向Docker引擎的只读模板,包含了文件系统...
    闲云逸心阅读 10,204评论 0 9
  • 值得一提的是,与目前开通的定制公交不同,升级版的高峰快线与现有公交票价相同。
    davidwatson阅读 1,384评论 0 1