前面2篇文章介绍了Docker的基本概念,以及Docker的基本操作命令:
Docker简介
Docker入门
本节就来和大家一起实战一下,将以部署MySQL、Tomcat、Redis、RabbitMQ为例进行实战。
1.实战部署MySQL
[1] 拉取镜像
docker pull mysql:5.7
可以看到镜像成功被拉取到了本地仓库
[2] 创建MySQL容器
docker run -id --name=mysql_57 -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
解释:
-id:以守护进程的方式创建并启动
--name:指定名字,非必须,只是为了好区分管理
-p:端口映射,必须,否则无法从外界连接数据库
-e:添加环境变量,MYSQL_ROOT_PASSWORD指定root用户的登陆密码
关于环境变量的更多信息,请访问dockerHub,查看更多信息。
[3] 远程连接MySQL
[4] 直接进入容器登陆
进入MySQL容器
docker exec -it mysql_57 /bin/bash
登陆进数据库
2.实战部署tomcat
[1] 拉取镜像
docker pull tomcat:8
[2] 创建tomcat容器
docker run -id -v /Users/wuhualu/MyWebApp:/usr/local/tomcat/webapps --privileged=true --name=my_tomcat -p 18080:8080 tomcat:8
解释
-id:以守护进程的方式创建并启动
-v:目录映射,将本机的/Users/wuhualu/MyWebApp目录映射到tomcat的webapps目录下,方便部署应用
--name:指定名字,非必须,只是为了好区分管理
-p:端口映射,必须,否则无法从外界访问web应用
--privileged=true:防止被映射目录的子目录可能会没有权限的问题
[3] 部署web应用
进入MyWebApp目录,新创建一个文件夹,名为hello,并进入hello文件夹,新创建一个html文件
echo "<html><body>hello world</body></html>" > hello.html
操作过程
此时,hello/hello.html文件就被直接映射到tomcat容器的webapps目录下了。
验证一下:
[4] 进入容器查看一下
docker exec -it my_tomcat /bin/bash
结果如预期
3.实战部署Redis
[1] 拉取镜像
docker pull redis
[2] 创建容器
docker run -id -p 6379:6379 redis
[3] 测试
4.实战部署RabbitMQ
[1] 拉取镜像
docker pull rabbitmq:management
rabbitmq:management是带管理界面的
[2] 创建容器
docker run -id --name=my_rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:management
说明:
5672端口:远程连接端口
15672:管理界面端口
默认用户名:guest
默认密码:guest
[3] 访问管理中心
关于docker的应用部署实战就讲到这里了,下一节将和大家一起来实战Docker的备份与迁移。