我们在之前的学习中,已经能够使用镜像实例化一个容器了;那么使用中的话,Docker的实际应用应该是要部署服务到容器上的;一个应用使用一个容器来跑,各个应用之间部署在容器中,通过容器之间进行访问,达到实际应用的效果。
我们今天来部署一个简单的服务,来模拟实际的应用
首先我们需要准备好镜像:Tomcat、Apache、mysql
添加端口映射: 最好使用docker的随机分配端口
使用docker -P 即可
访问:虚拟机IP:端口
Apache服务
创建Docker的自定义网络
将服务加入到自定义网络
查看服务IP
Apache ping Tomcat
从Tomcat获取服务Apache
那么,逆向也是一样的
Mysql的使用:使用物理机操作同步到Docker容器里
使用mysql:5.7版本镜像,这样不会在后面因为Mysql密码的问题而出错
进入到mysql
此时Docker里的mysql数据库
外部连接到Docker里的数据库,连接工具我使用的是mysql自带的WorkBench(需要自己手动下一下)
在外部创建数据库 test
在Docker里查询
Ok,没有问题!
那么怎样将mysql与我们的服务连起来呢?
最好的方式之一,就是使用Docker的一条命令 --link
docker run -d -P --Link 容器:容器别名 容器ID
那么这样就可以将所要的目的容器连在一起了
例如:Tomcat 容器连接 Apache
我们可以查看Tamcat容器的地址映射关系
两者之间的地址映射表都有彼此,那么关联容器后,不仅可以使用IP进行访问,还可以通过容器的别名进行访问了