Docker部署(二):MySQL数据库

来源:互联网 发布:海报设计 知乎 编辑:程序博客网 时间:2024/06/18 14:46

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 imagesREPOSITORY          TAG                 IMAGE ID            CREATED             SIZEmysql               5.7                 dd0afb9bc4a9        3 days ago          408MBmysql               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)的运行。

原创粉丝点击