Docker,让部署引用如此简单。
之前如果我们想在服务器上部署一个数据库我们会怎么做:
- 下载应用程序
- 解压、安装
- 搞一堆过几天就完了的配置
- 如果崩溃了需要从新安装优势一个麻烦事
使用Docker之后
- 现在镜像
- 启动容器
- bingo!!
实践
这自己的云服务器上,可以执行下面的命令
# 拉取官方镜像
$ docker pull mysql:8.0.15
# 创建数据卷
$ docker volume create helloworld
# 启动容器,端口映射到3308,挂载之前的数据卷
$ docker run --rm -d -e MYSQL_ROOT_PASSWORD=926443 \
-v helloworld:/var/lib/mysql \
-p 23333:3306 mysql:8.0.15
复制代码
解释下上面的命令
-
docker pull mysql:8.0.15
: 下载官方的MySQL镜像,其中mysql的版本是8.0.15。因为我的服务器在美国, 所以直接从官方那里下载。如果你的服务器在国内,应该使用国内的源 -
docker volume create helloworld
: 创建一个数据卷,根据Docker最佳实践,容器需要持久化的数据都应该存储在数据卷上 -
docker run mysql:8.0.15
: 启动一个容器- --rm 说明容器用完就销毁,因为我们的数据都是存储在数据卷上,所以容器停止运行后可以直接把它删除就行了
- -d 是说让我们的容器在后台运行
- -e 给新创建的数据库设置root密码
- -v 把容器中的
/var/lib/mysql
映射到刚才创建的数据卷上 - -p 23333:3306 把所有对宿主机23333端口的tcp报文转发到容器的3306端口
好了,通过上面一个简单的操作,我们就在服务器上搭建了MySQL的运行环境。。太简单了。。
好数据库搭建完成,我肯可以对它进行操作了。
连接数据库
我们可以在本地连接服务器的数据库了。比如说我的服务器地址为 142.93.21.228,我刚才开放的端口是23333,我可以
# 连接远程数据库
$ mysql -uroot -p926443 -h 142.93.21.228 -P23333
复制代码