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中的部署的更多相关文章

  1. Docker部署Mysql, Tomcat, Nginx, Redis

    1. Mysql部署 问题及解决方案 容器内的网络和外部机器不能直接通信 外部机器和宿主机可以直接通信 宿主机和容器可以直接通信 当容器中的网络服务需要被外部机器访问时,可以将容器中提供服务的端口映射 ...

  2. Docker Compose 容器编排 NET Core 6+MySQL 8+Nginx + Redis

    环境: CentOS 8.5.2111Docker 20.10.10Docker-Compose 2.1.0 服务: db  redis  web nginx NET Core 6+MySQL 8+N ...

  3. tomcat+nginx+redis实现均衡负载、session共享(一)

    在项目运营时,我们都会遇到一个问题,项目需要更新时,我们可能需先暂时关闭下服务器来更新.但这可能会出现一些状况: 1.用户还在操作,被强迫终止了(我们可以看日志等没人操作的时候更新,但总可能会有万一) ...

  4. 【转载】tomcat+nginx+redis实现均衡负载、session共享(一)

    http://www.cnblogs.com/zhrxidian/p/5432886.html 在项目运营时,我们都会遇到一个问题,项目需要更新时,我们可能需先暂时关闭下服务器来更新.但这可能会出现一 ...

  5. (转)tomcat+nginx+redis实现均衡负载、session共享(一)

    在项目运营时,我们都会遇到一个问题,项目需要更新时,我们可能需先暂时关闭下服务器来更新.但这可能会出现一些状况: 1.用户还在操作,被强迫终止了(我们可以看日志等没人操作的时候更新,但总可能会有万一) ...

  6. tomcat+nginx+redis集群试验

    Nginx负载平衡 + Tomcat + 会话存储Redis配置要点   使用Nginx作为Tomcat的负载平衡器,Tomcat的会话Session数据存储在Redis,能够实现0当机的7x24 运 ...

  7. 2. Docker部署tomcat, nginx, redis,及docker私有仓库

    1. 部署tomcat 1.1 下载tomcat       docker pull tomcat:7-jre8 1.2 部署容器  docker run -di --name=tomcat -p 8 ...

  8. Docker部署Tomcat,Nginx,Redis应用

    一.tomcat部署 1.拉取tomcat镜像 docker pull tomcat:7-jre7 2创建tomcat容器 创建容器用于部署单点登录系统(CAS)  -p表示地址映射 docker r ...

  9. linux系统下安装jdk,mysql,tomcat 和redis 和jedis入门案例

    Day47笔记Linux+redis入门 Day47   知识讲解:Jedis 1.Linux上jdk,mysql,tomcat安装(看着文档安装) 准备工作: 因为JDK,TOMCAT,MYSQL的 ...

随机推荐

  1. PHP chdir() 函数

    实例 改变当前的目录: <?php// Get current directoryecho getcwd() . "<br>"; // Change direct ...

  2. VIEW当中自定义属性的使用

    主要有三种方法可以实现自定义属性. 第一种方法,直接设置属性值,通过attrs.getAttributeResourceValue拿到这个属性值. (1)在xml文件中设置属性值 [html] vie ...

  3. gradle 排除jar

    排除fastjson的包,其他同理compile('com.qq.sdk:core:2.0.3') { exclude group: 'com.alibaba'}

  4. 发送验证码倒计时60s

    var wait=60; function time(o) { if (wait == 0) { o.removeClass("gray"); o.text("发送验证码 ...

  5. 嵌入式C语言4.2 C语言内存空间的使用-指针与修饰符:const,volatile,typedef

    const:变量,只读[不能变] 内存属性: 1. 内存操作的大小 2.内存的变化性,可写可读 char *p; const char *p;     描述字符串,p指向的内容是只读的,不可再次修改 ...

  6. DNS域名解析服务以及Bind服务程序

    一般来讲域名比IP地址更加的有含义.也更容易记住,所以通常用户更习惯输入域名来访问网络中的资源,但是计算机主机在互联网中只能通过IP识别对方主机,那么就需要DNS域名解析服务了. DNS域名解析服务( ...

  7. Django框架(二十)—— Django rest_framework-认证组件

    目录 Django rest_framework-认证组件 一.什么是认证 二.利用token记录认证过的用户 1.什么是token 2.token的原理 3.cookie.session.token ...

  8. 为什么要进行 URL 编码???

    作者:降瑞雪 cnblogs.com/jerrysion/p/5522673.html 我们都知道Http协议中参数的传输是"key=value"这种简直对形式的,如果要传多个参数 ...

  9. 注解深入浅出之Retrofit中的注解(三)

    更多andorid高级架构进阶视频免费分享学习请点击:https://space.bilibili.com/474380680 Retrofit中的注解 @Query,@QueryMap,@Field ...

  10. USACO Wifi Setup /// 贪心

    题目大意: 若在x处防止一个覆盖范围为r的wifi基站 可以覆盖 x-r 到 x+r 范围 花费为 A+B*r 给定n 给定n个奶牛的位置 求覆盖所有奶牛的最小费用 (可设置任意多个wifi基站) 贪 ...