本文共 1185 字,大约阅读时间需要 3 分钟。
Docker简单部署web项目(tomcat+war包+mysql)
#启用tomcat8镜像命名为webapp,将容器的8080端口映射到主机的8080端口docker run -p 8080:8080 --name webapp -d tomcat:8
#进入刚刚用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/webappsdocker start webapp
#后台启动一个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为我的容器iddocker exec -it fcfdc2743ebe /bin/bash#登陆测试mysql -uroot -p
转载地址:http://qbqyx.baihongyu.com/