美文网首页docker
Docker基本概念与实践(四)-部署简单web项目(tomca

Docker基本概念与实践(四)-部署简单web项目(tomca

作者: Garwer | 来源:发表于2018-04-24 23:38 被阅读26次

    Docker简单部署web项目(tomcat+war包+mysql)

    先简单测试单独运行tomcat项目
    #启用tomcat8镜像命名为webapp,将容器的8080端口映射到主机的8080端口
    docker run -p 8080:8080 --name webapp -d tomcat:8
    
    单纯启动tomcat
    将项目放入tomcat运行
    #进入刚刚用tomcat8镜像运行的容器,并关闭容器内tomcat服务,进入容器内的bin目录
    docker exec -it webapp /bin/bash
    
    #进入tomcat的bin目录 关闭
    sh shutdown.sh 
    
    #将宿主机的war包传到tomcat容器的webapp下 -> docker cp 本地文件路径 容器名/id:容器路径
    docker cp /usr/local/war/linjw.war webapp:/usr/local/tomcat/webapps
    
    docker start webapp
    
    将war包导入tomcat容器内
    添加mysql镜像
    #后台启动一个mysql5.7镜像 映射宿主机3308端口 设置密码garwer 如果本地无该镜像将从官方拉取
    docker run -d -p 3308:3306 -e MYSQL_ROOT_PASSWORD=garwer -e MYSQL_DATABASE=garwer mysql:5.7
    【这种启动方式有个弊端,可以测试访问mysql成功后,在里面创建一张表退出,停止容器后再重启,数据就丢失了
    正确的姿势是:挂载一个本地文件到容器,以此保证mysql容器数据的持久化(还可以根据需要mysql的配置文件,这边仅挂载数据) -v 前面为宿主机路径 后为容器路径
    --privileged=true给容器加上特定权限 否则挂载的时候会报权限错误 宿主机会自动创建/usr/local/mysql-docker/data路径文件 这边因为因为外部占用我用3308 可自行调整端口
    】
    docker run -d -p 3308:3306 --name garwer-mysql --privileged=true -e MYSQL_ROOT_PASSWORD=garwer -e MYSQL_DATABASE=garwer -v /usr/local/mysql-docker/data:/var/lib/mysql mysql:5.7
     
    #进入容器查看是否创建了garwer数据库 密码是否为garwer fcfdc2743ebe为我的容器id
    docker exec -it fcfdc2743ebe /bin/bash
    
    #登陆测试
    mysql -uroot -p
    
    用mysql.5.7镜像运行mysql容器 进入容器测验 测试访问 挂载数据文件到本地测试 访问成功

    相关文章

      网友评论

      本文标题:Docker基本概念与实践(四)-部署简单web项目(tomca

      本文链接:https://www.haomeiwen.com/subject/nigslftx.html