Docker Compose部署项目到容器-基于Tomcat和mysql的商城项目(附源码和sql下载)
场景
Docker-Compose简介与Ubuntu Server 上安装Compose:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100902301
Docker Compose基本使用-使用Compose启动Tomcat为例:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100904080
在上面已经实现使用Compose启动项目的基础上,实现使用Compose部署项目到容器。
实现
首先在/usr/local/docker目录下新建myshop目录并进入
新建yml配置文件
vi docker-compose.yml
配置文件中加入以下内容,不做具体讲解,注意的是这里是Mysql5.7.22,注意修改自己的root的密码以及注意
volumns数据卷的配置。
Docker中容器数据持久化-数据卷的简单使用:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/99194088
docker-compose.yml
version: '3' services: web: restart: always image: tomcat container_name: web ports: - 8080:8080 volumes: - /usr/local/docker/myshop/ROOT:/usr/local/tomcat/webapps/ROOT mysql: restart: always image: mysql:5.7.22 container_name: mysql ports: - 3306:3306 environment: TZ: Asia/Shanghai MYSQL_ROOT_PASSWORD: 123456 command: --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --explicit_defaults_for_timestamp=true --lower_case_table_names=1 --max_allowed_packet=128M --sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO" volumes: - mysql-data:/var/lib/mysql volumes: mysql-data:
然后按ESC并输入 :wq! 保存并退出。
然后在同一个目录下输入:
docker-compose up -d
以守护态运行项目
启动成功后可以查看日志
docker-compose logs web
其中web就是在配置文件中配置的服务名。
此时Mysql的服务已开启,所以此时使用Navicat等连接数据库应该是可以连接成功的。
连接成功后,运行sql脚本
部署项目
来到配置文件中数据卷的位置,将项目的zip包传输到 /usr/local/docker/myshop/ROOT
然后输入:
apt-get install unzip
安装解压工具,再输入;
unzip myshop.zip
将项目解压缩,然后进入WEB-INF/classes下
vi myshop.proerties
编辑数据库连接语句。
然后输入:
docker-compose down
docker-compose up
重新部署项目
打开浏览器输入:
ip:8080/login
找到数据库中user表中用户名密码
aa@a
123456
项目源码以及sql文件下载
关注公众号:
霸道的程序猿
回复:myshop
获取项目源码以及sql文件,可直接运行。