dockerfile构建mysql镜像并初始化(docker-compose基于MySQL8部署项目的实现)
dockerfile构建mysql镜像并初始化
docker-compose基于MySQL8部署项目的实现1.首先按照以下的路径创建相应的文件夹
/usr/local/docker/mysql
2.然后在该目录下创建docker-compose.yml文件并且在文件中加入以下的配置
version: '3.1' services: db: image: mysql restart: always environment: MYSQL_ROOT_PASSWORD: 123456 command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --explicit_defaults_for_timestamp=true --lower_case_table_names=1 --max_allowed_packet=128M; ports: - 3306:3306 volumes: - ./data:/var/lib/mysql adminer: image: adminer restart: always ports: - 8080:8080
3.按照以下的路径创建相应的文件夹
/usr/local/docker/tomcat
4.在该文件夹的目录下面创建一个docker-compose.yml并且填写相关的配置信息(由于这里的上面的宿主机的8080端口被占用所以这里只能改为其他的端口)
version: '3.1' services: tomcat: restart: always image: tomcat container_name: tomcat ports: - 8082:8080 volumes: - /usr/local/docker/tomcat:/usr/local/tomcat/webapps/ROOT environment: TZ: Asia/Shanghai
注意: 创建的目录不同那么上面对应的 /usr/local/docker/tomcat目录就不能同
5.如果没能启动那么可以直接用启动命令试试
docker run -p 8082:8080 镜像id或者镜像名称
6.在将项目上传到和tomcat的同级目录下面解压缩然后运行就可以实现部署
说明:
一个容器可以部署一个项目,那么是不是很奇怪,假如说我在同一台服务器上面部署了三个应用一个前端的UI一个后端的Admin,一个数据库MySQL,那么后端要管理前端的数据,而他们的配置文件docker-compose分别为以下
admain 路径:/usr/local/docker/tomcat
version: '3.1' services: tomcat: restart: always image: tomcat container_name: tomcat ports: - 8082:8080 volumes: - /usr/local/docker/tomcat:/usr/local/tomcat/webapps/ROOT environment: TZ: Asia/Shanghai
UI: /usr/local/docker/tomcat_ui
version: '3.1' services: tomcat: restart: always image: tomcat container_name: tomcatui ports: - 8083:8080 volumes: - /usr/local/docker/tomcat_ui:/usr/local/tomcat/webapps/ROOT environment: TZ: Asia/Shanghai~
mysql 路径: /usr/local/docker/mysql
docekr-compose的配置
version: '3.1' services: db: image: mysql restart: always environment: MYSQL_ROOT_PASSWORD: 123456 command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --explicit_defaults_for_timestamp=true --lower_case_table_names=1 ports: - 3306:3306 volumes: - ./data:/var/lib/mysql adminer: image: adminer restart: always ports: - 8080:8080
后端管理前端的数据是如何做到的呢,其实者就要联系到你部署的项目了,项目里有配置一个数据连接配置如下
# JDBC jdbc.driverClass=com.mysql.jdbc.Driver jdbc.connectionURL=jdbc:mysql://192.168.206.128:3306/twg?useUnicode=true&characterEncoding=utf-8&useSSL=false jdbc.username=root jdbc.password=123456 # JDBC Pool jdbc.pool.init=1 jdbc.pool.minIdle=3 jdbc.pool.maxActive=20 # JDBC Test jdbc.testSql=SELECT 'x' FROM DUAL
那么这里配置的jdbc.connectionURL=jdbc:mysql://192.168.206.128:3306/twg?useUnicode=true&characterEncoding=utf-8&useSSL=false就是关键了,其实就是通过这个ip来进行数据管理的。这个ip是mysql部署的服务器ip,那么部署的项目连接配置都是指向的这个ip,这样也就让后台获得了这个数据库的数据,直接管理了前台的数据。而且数据库可视化界面比如Navicat和SQLyog等用数据库部署的IP比如上面这个IP就可以轻松的对服务器数据库的数据进行方便的管理。
如果需要停止某个服务,可以直接在对应那个服务的文件夹下和docker-compose同级的目录下面用docker-compose down 即可直接停止某个服务
到此这篇关于docker-compose基于MySQL8部署项目的实现的文章就介绍到这了,更多相关docker-compose部署MySQL8内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
- docker-compose 原理(详解docker compose 用法)
- docker-compose命令(docker-compose教程之安装使用和快速入门)
- docker-compose绑定端口失效(docker-compose创建网桥,添加子网,删除网卡的实现)
- docker-compose查看服务状态(Docker+DockerCompose封装web应用的方法步骤)
- docker怎样安装mysql8(docker-compose安装db2数据库操作)
- docker-compose启动单个容器(docker-compose快速搭建docker私有仓库的步骤)
- docker-compose配置文件(Docker Compose在不同环境的多种安装方式)
- 如何编写docker-compose(使用Docker Compose搭建 Confluence的教程)
- dockerspringboot一键部署(docker-compose镜像发布springboot项目的流程分析)
- docker compose 与docker区别(windows安装Docker与docker-compose套装的详细教程)
- docker compose的常用命令(安装docker和docker-compose实例详解)
- docker-compose怎么编写(docker-compose部署php项目实例详解)
- docker容器编排入门教程(laradock环境docker-compose操作详解)
- dockercompose的常用命令的作用(PIP安装docker-compose超时问题解决方案)
- idea集成docker-compose(IDEA 集成 docker 实现远程部署的详细步骤)
- docker compose使用方法(docker和docker-compose一键安装教程支持在线和离线)
- 小浴室,大民生 缙云3200多户困难群众洗上免费热水澡(小浴室大民生缙云3200多户困难群众洗上免费热水澡)
- 元旦闲谭(元旦闲谭)
- 息烽 这个村 治垃圾 有招 人人争当卫生模范(息烽这个村治垃圾)
- 今天要吃什么(今天要吃什么菜)
- 三杨之一 南杨 杨溥 安贞履节,酿醴调羹,宰相之气(三杨之一南杨杨溥)
- 今天会下雨吗(今天会下雨吗小说)
热门推荐
- numpy的核心是n维数组对象(利用ctypes获取numpy数组的指针方法)
- python try高级用法(python try 异常处理史上最全)
- phpcurl请求能在日志里记录吗(php使用curl模拟多线程实现批处理功能示例)
- html5基本标签详解(详解HTML5布局和HTML5标签)
- svg如何生成(使用SVG实现提示框功能的示例代码)
- sql怎么把表移到另一个数据库中(sql存储过程实例--动态根据表数据复制一个表的数据到另一个表)
- ui界面的测试用例(AmazeUI 模态窗口的实现代码)
- mysqlexplain的用法(MySQL SHOW STATUS语句的使用)
- vue中如何判断请求状态码(关于VUE的编译作用域及slot作用域插槽问题)
- cssdiv垂直居中怎么设置(CSS设置DIV垂直居中的N种方法 兼容IE浏览器)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9