营销型网站建设 深圳信科,网站大小多少合适,社区门户网站规范化建设,WordPress的黑色让我#xff0c;重获新生~ MySQL 灾难恢复 熟练掌握挂载卷的使用#xff0c;将Mysql的业务数据存储在 外部。
实战思想: 使用 MySQL 5.7 的镜像创建容器并创建一个普通数据卷 mysql-data用来保存容器中产生的数据。我们需要容器连接到Mysql服务让我重获新生~ MySQL 灾难恢复 熟练掌握挂载卷的使用将Mysql的业务数据存储在 外部。
实战思想: 使用 MySQL 5.7 的镜像创建容器并创建一个普通数据卷 mysql-data用来保存容器中产生的数据。我们需要容器连接到Mysql服务并且创建数据库test并在该数据库中创建一个表来插入一些简单的数据信息。 准备镜像:
docker pull mysql:5.7 创建容器:
注:-e 选项通过参数 MYSQL_ROOT_PASSWORD 来传递 MySQL 密码
docker container run --name mysql -itd -e MYSQL_ROOT_PASSWORDwgzzs123 -v/data/var/mysqld/:/var/lib/mysql mysql:5.7 查看容器挂载信息: 连接 MySQL 的 shell 创建数据库: 接下来就是建表和插入数据的过程这里不细讲: 在宿主机中查看 volume 可以看到容器中 MySQL 创建的数据库和表数据以及持久化到宿主机挂载的目录下了。 突然有一天咱们机器的系统资源吃紧变得缓慢。一个哥们脑子发抽将Mysql服务停掉并删除了 不过好在我们将容器内MySQL的数据做了绑定卷它的数据还在宿主机上。我们现在要做的就是进行数据恢复。 我们再次启动我们的运行命令确保目录映射一致就能找回我们的数据了 成功登录Mysql数据后我们进入test库中查询表信息: 数据仍然是存在的
Docker Compose 部署自定义服务 我们编写一个简单的案例 nginx 反向代理到我们的一个 springboot 微服务微服务访问我们的 msyql 数据库查询用户信息。
springboot简介 Spring Boot是一个开源的Java框架它使得开发人员能够快速搭建和运行基于Spring的应用程序。 特征: SpringBoot Starter他将常用的依赖分组进行了整合将其合并到一个依赖中这样就可以一次性添加到项目的Maven或Gradle构建中。 使编码变得简单提供了大量的注解极大的提高了工作效率。 自动配置:SpringBoot的自动配置特性利用了Spring对条件化配置的支持合理地推测应用所需的bean并自动化配置他们。 使部署变得简单SpringBoot内置了三种Servlet容器TomcatJetty,undertow. 出自这里 创建一个 springboot 应用配置 maven 项目: 有一些Idea中没有集成Spring initializr可以访问官网。登录该网站填写项目信息选择依赖后点击 Generate Project。 解压生成的压缩包使用Idea打开项目文件,点击右侧Mavn菜单栏双击clean清理没问题工程成功。 点击package我们发现也能正常打包: 最终我们是要去访问机器上的Mysql所以我们就要开始配置它的用户名和密码。 配置Mysql的依赖驱动: 在属性文件中配置数据源(Mysql用户名和密码): 编写一个简单的user控制类 回到main类后点击启动我们的服务在8080号端口该Web能够在本地运行。 编写yml文件:
version: 3.8
services:web:image: 1.24.0ports: - 8080:80networks: - mywebvolumes: - /data/nginx/conf.d:/etc/nginx/conf.d # 这里我们会更改配置文件的 启用反向代理depends_on: mysys: condition: service_startedmysys:image: java:8depends_on: mysql: condition: service_healthycommand: java -jar /app/demojdbc-0.0.1-SNAPSHOT.jar # 编译项目volumes: - /data/app/:/app/networks: - mywebmysql:image: mysql:5.7volumes:- /data/mysql/varlib/:/var/lib/mysql- /data/mysql/init/:/docker-entrypoint-initdb.d/environment: MYSQL_ROOT_PASSWORD: wgzzs123healthcheck: test: mysql --userroot --passwordroot -e SELECT 1;interval: 10stimeout: 5sretries: 10networks: - mywebnetworks: myweb: 我们需要通过将访问nginx服务的流量转打给正在运行的Web Java程序。 创建工程目录和卷目录: 将 nginx 的反向代理配置 bit.conf 放入到 ./nginx/conf.d 其中内容为: 将数据库初始化文件 init.sql 放入到./mysql/init 目录:
drop database if exists test;
CREATE DATABASE test DEFAULT CHARACTER SET utf8;
use test;
CREATE TABLE users (sno int(11) DEFAULT NULL,sname varchar(50) DEFAULT NULL
) ENGINEInnoDB DEFAULT CHARSETutf8mb4;INSERT INTO users values (1,Bob),(2,Linda) 将应用 jar 包放入到./app 目录: 启动我们的项目 我们可以在Mysql中查询到被插入的数据 Docker Compose 部署 WordPress
WordPress简介 WordPress 是使用 PHP 语言开发的博客平台用户可以在支持 PHP 和 MySQL 数据库的服务器上架设属于自己的网站。也可以把 WordPress 当作一个内容管理系统来使用。 WordPress 有许多第三方开发的免费模板安装方式简单易用。不过要做一个自己的模板你一定需要具备前端技术的支持。 拉取WordPress镜像:
docker pull wordpress:4.5-fpm 当然这一步可以不做因为后面执行.yml文件时会自动拉取。 部署 WordPress:
# 定义所有services信息
version: 3.8
services:mysql:image: mysql:5.7volumes:- /root/wordpress/var/mysql/data/:/var/lib/mysql# 定义容器重启策略restart: always# 设置环境变量environment:MYSQL_ROOT_PASSWORD: mywordpress123MYSQL_DATABASE: wordpressMYSQL_USER: wordpressMYSQL_PASSWORD: wordpresshealthcheck:test: mysql --userroot --passwordmywordpress123 -e SELECT 1;interval: 10stimeout: 5sretries: 10wordpress:image: wordpress:latest# 构建依赖顺序,Mysql先启动depends_on:mysql:condition: service_healthy# 建立映射关系ports:- 8080:80restart: alwaysvolumes:- /root/wordpress/var/www/html/:/var/www/htmlenvironment:WORDPRESS_DB_HOST: mysql:3306WORDPRESS_DB_USER: wordpressWORDPRESS_DB_PASSWORD: wordpressWORDPRESS_DB_NAME: wordpress使用 docker compose config检查yml格式 运行站点: docker compose up -d 访问 web 页面: 配置参数点击安装: 进入后台: 删除释放空间: 本篇到此结束感谢你的阅读。
祝你好运向阳而生~