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