从零使用docker简单部署一个javaweb项目与mysql数据库

centos 7 安装docker:

  Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
使用  uname -r 查看CentOS内核

使用 root 权限登录 Centos。确保 yum 包更新到最新。
    sudo yum update

卸载旧版本(如果安装过旧版本的话) 
    sudo yum remove docker  docker-common docker-selinux docker-engine

设置yum源
    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

可以查看所有仓库中所有docker版本,并选择特定版本安装
    yum list docker-ce --showduplicates | sort -r

安装docker
    sudo yum install docker-ce-XXX(版本号)

启动docker
    systemctl start docker(service start docker)/关闭docker service stop docker

docker 部署一个简单的javaweb项目:
    部署一个javaweb项目,我们需要两个镜像,tomcat,mysql
    1.切换到root账号,启动docker systemctl start docker

    2.下载tomcat镜像
        因为docker hub上下载网速慢,所有一般使用国内的代理网站,推荐使用网易蜂巢的镜像中心
        从零使用docker简单部署一个javaweb项目与mysql数据库
    左上角为鲸鱼的图标,则表示为docker hub上官方镜像

    从零使用docker简单部署一个javaweb项目与mysql数据库
复制上面的下载地址docker pull hub.c.163.com/library/tomcat:latest ,拉取镜像到本地

3.参照拉取tomcat镜像的方法,下载mysql镜像

4.启动mysql镜像:
    因为docker容器,关闭,重启后,会清空容器里面的数据,所有我们用挂载的方式启动mysql,保存数据库数据
    
    先在centos主机上创建文件夹  /usr/mysql_data
    挂载启动mysql镜像:docker run --name fbmmysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123qwe -v /usr/mysql_data:/var/lib/mysql  
注:--name :给容器取一个别名为fbmmysql
       -p :映射端口号,将mysql的端口号3306 映射为 3306
       -e MYSQL_ROOT_PASSWORD :  设置root密码为123qwe
       -v :使用/usr/mysql_data 挂载mysql数据文件,保存数据库数据
       -d : 后台运行容器,并返回容器ID;
     hub.c.163.com/library/mysql:镜像名称
    可使用docker images 查看所有镜像
    
    从零使用docker简单部署一个javaweb项目与mysql数据库
使用docker ps 查看正在运行的docker容器:
从零使用docker简单部署一个javaweb项目与mysql数据库
5.在Windows主机上使用数据库图形化管理工具,连接测试mysql:
    从零使用docker简单部署一个javaweb项目与mysql数据库
这里的ip地址为vm中centos的ip地址,密码为启动mysql时,设置的密码

连接成功后,将所需要的数据库数据导入到mysql

6.使用Dockerfile构建自己的docker镜像
修改web项目的数据库连接信息,将ip信息改为我们启动mysql容器时取的别名,改好,打成war包
从零使用docker简单部署一个javaweb项目与mysql数据库
    在centos中创建文件夹 /usr/fbm,在此文件夹下创建一个Dockerfile文件
    将war包上传到这个文件夹下面
从零使用docker简单部署一个javaweb项目与mysql数据库
    编辑Dockerfile文件 vi Dockerfile
从零使用docker简单部署一个javaweb项目与mysql数据库
    第一行from :设置基础镜像,即第二步下载的tomcat镜像
    第二行:将我们的war包拷贝到tomcat的webapps下面

7.使用docker build生成镜像:
        docker build -t fbm:latest .
    注:-t 设置repository,tag
从零使用docker简单部署一个javaweb项目与mysql数据库
. : 运行当前文件夹下的Dockerfile文件

使用docker images查看生成的镜像
    从零使用docker简单部署一个javaweb项目与mysql数据库

8.启动fbm镜像:
    docker run -d -p 8888:8080 --name fbm --link fbmmysql:fbmmysql b6b840a4d1f3
    注:--link:tomcat容器与msyql容器简历连接,fbmmysql为启动mysql容器时取的别名,后一个fbmmysql为建立连接的连接名
            b6b840a4d1f3 为fbm镜像的image id

9.在Windows主机下输入地址,测试部署结果
    从零使用docker简单部署一个javaweb项目与mysql数据库
ip地址为vm下centos的ip,输入密码,测试数据库连接
    从零使用docker简单部署一个javaweb项目与mysql数据库
登录成功,部署完毕。
注:tomcat启动时最好用挂载,方便查看日志文件