mysql|tomcat|nginx|redis在docker中的部署

Posted alexzhang92

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql|tomcat|nginx|redis在docker中的部署相关的知识,希望对你有一定的参考价值。

MySQL部署

  • 拉取MySQL镜像

docker pull mysql

技术图片  

 查看镜像

技术图片

  • 创建MySQL容器

docker run -di --name pinyougou_mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

-p 代表端口映射,格式为  宿主机映射端口:容器运行端口

-e 代表添加环境变量  MYSQL_ROOT_PASSWORD是root用户的登陆密码

  • 进入MySQL容器,登陆MySQL

进入mysql容器

docker exec -it pinyougou_mysql /bin/bash

登陆mysql

mysql -u root -p
  • 远程登陆MySQL

(1)我们在我们本机的电脑上去连接虚拟机Centos中的Docker容器,这里192.168.247.130是虚拟机操作系统的IP

 技术图片

(2)在本地客户端执行建库脚本

执行“资源/建库语句/pinyougoudb.sql”

 技术图片

  • 查看容器IP地址

我们可以通过以下命令查看容器运行的各种数据

docker inspect pinyougou_mysql

运行效果如下:

 技术图片

我们可以看到我们的数据库服务器的IP是172.17.0.2

tomcat部署

  • 拉取tomcat镜像

docker pull tomcat:7-jre7
  • 创建tomcat容器

创建容器用于部署单点登录系统(CAS)  -p表示地址映射

docker run -di --name=pinyougou_tomcat -p 9000:8080

-v /usr/local/myhtml:/usr/local/tomcat/webapps --privileged=true tomcat:7-jre7
  • 部署web应用

(1)修改cas系统的配置文件,修改数据库连接的url

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"

p:driverClass="com.mysql.jdbc.Driver"

p:jdbcUrl="jdbc:mysql://172.17.0.6:3306/pinyougoudb?characterEncoding=utf8"

p:user="root"

p:password="123456" />

 

测试:地址栏输入:http://192.168.247.135:9000/cas/login 

技术图片

Nginx部署

  • 拉取Nginx镜像

docker pull nginx
  • 创建Nginx容器

docker run -di --name=pinyougou_nginx -p 80:80  nginx/bin/bash
  • 测试Nginx

浏览器地址栏输入: http://192.168.247.135 

技术图片

  • 配置反向代理

官方的nginx镜像,nginx配置文件nginx.conf 在/etc/nginx/目录下。

在容器内编辑配置文件不方便,我们可以先将配置文件从容器内拷贝到宿主机,编辑修改后再拷贝回去。

(1)从容器拷贝配置文件到宿主机

docker cp pinyougou_nginx:/etc/nginx/nginx.conf nginx.conf

(2)编辑nginx.conf,添加反向代理配置

upstream tomcat-cas 

server 172.17.0.7:8080;



server 

listen 80;

server_name passport.pinyougou.com;

location / 

proxy_pass http://tomcat-cas;

index index.html index.htm;



 

(3)将修改后的配置文件拷贝到容器

docker cp nginx.conf  pinyougou_nginx:/etc/nginx/nginx.conf

(4)重新启动容器

docker restart pinyougou_nginx

(5)设置域名指向

192.168.247.135 passport.pinyougou.com

浏览器测试:http://passport.pinyougou.com/cas/login

技术图片

Redis部署

  • 拉取Redis镜像

docker pull redis
  • 创建Redis容器

 docker run -di --name=pinyougou_redis -p 6379:6379 redis
  • 客户端测试

在你的本地电脑命令提示符下,用window版本redis测试

redis-cli -h 192.168.247.135

 

以上是关于mysql|tomcat|nginx|redis在docker中的部署的主要内容,如果未能解决你的问题,请参考以下文章

redis缓存服务器(nginx+tomcat+redis+mysql实现session会话共享)

redis缓存服务器(nginx+tomcat+redis+mysql实现session会话共享)

redis缓存服务器(Nginx+Tomcat+redis+MySQL实现session会话共享)

redis缓存服务器(Nginx+Tomcat+redis+MySQL实现session会话共享)

手拉手教你如何用docker部署mysql redis nginx tomcat

手拉手教你如何用docker部署mysql redis nginx tomcat