docker以及docker-compose的安装和使用详情(三)之一些环境的构建(mysql,redis,es,nginx,jenkins)

基于docker搭建各种环境

  • 一. 用docker快速搭建mysql
        • 拉取镜像
        • 开始构建:
        • 开启远程访问,并修改密码
  • 二.Docker容器中使用Redis
        • 查看并拉取:
        • 运行容器
        • 自定义redis.conf启动
        • 启用redis-cli,即redis客户端
  • 三. 安装 nginx及jenkins 镜像
          • docker-compose.yml的编写
          • nginx.conf的配置
          • Jenkins配置(服务器ip:8080进入jenkins管理界面)]
        • 全局配置ssh serve
        • 全局工具配置 node.js
      • 新建jenkins任务及配置
        • 任务配置-构建触发器
      • 任务配置-构建环境(选择事先在全局工具中配置的node.js)
      • 任务配置-构建
      • 任务配置-构建后操作
  • 四. docker构建es数据库
          • 1、下载elasticsearch 和kibaba
          • 2、配置,可以被远程访问
          • 3、启动Elasticsearch
          • 4、启动kibana
          • 5、测试,查看 elasticsearch,http://ip地址:9200/,
          • 6 、安装中文ik分词器

一. 用docker快速搭建mysql

拉取镜像
docker pull mysql:5.7   # 拉取 mysql 5.7
开始构建:
docker run -d -p 3310:3306 -v /Users/chenbang/home/mysql/conf:/etc/mysql/conf.d -v /Users/chenbang/home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7

–name:容器名,此处命名为mysql
-e:配置信息,此处配置mysql的root用户的登陆密码
-p:端口映射,此处映射 主机3310端口 到 容器的3306端口
-d:后台运行容器,保证在退出终端后容器继续运行
开启远程访问,并修改密码
sudo docker exec -it mysql bash
mysql -uroot -p123456
mysql> grant all privileges on *.* to root@'%' identified by "password";


####  开放端口:
$ systemctl status firewalld
$ firewall-cmd  --zone=public --add-port=3306/tcp -permanent
$ firewall-cmd  --reload
# 关闭防火墙:
$ sudo systemctl stop firewalld

二.Docker容器中使用Redis

查看并拉取:
docker search redis

docker pull redis:lastest
运行容器
docker run --name kris-redis -p 6380:6379 -d redis --requirepass "123456"
自定义redis.conf启动
docker run -p 6379:6379 --name kris-redis -v /root/docker/redis/redis.conf:/etc/redis/redis.conf  -v /root/docker/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes

 -p 6379:6379:把容器内的6379端口映射到宿主机6379端口
 -v /root/docker/redis/redis.conf:/etc/redis/redis.conf:把宿主机配置好的redis.conf放到容器内的这个位置中
 -v /root/docker/redis/data:/data:把redis持久化的数据在宿主机内显示,做数据备份
 redis-server /etc/redis/redis.conf:这个是关键配置,让redis不是无配置启动,而是按照这个redis.conf的配置启动
 -appendonly yes:redis启动后数据持久化
启用redis-cli,即redis客户端
docker exec -it kris-redis redis-cli

三. 安装 nginx及jenkins 镜像

docker pull nginx
docker pull jenkinsci/blueocean

查看镜像是否拉取成功:
docker images

配置目录编写
docker以及docker-compose的安装和使用详情(三)之一些环境的构建(mysql,redis,es,nginx,jenkins)_第1张图片

docker-compose.yml的编写
cd /home/compose
vim docker-compose.yml

docker以及docker-compose的安装和使用详情(三)之一些环境的构建(mysql,redis,es,nginx,jenkins)_第2张图片

nginx.conf的配置
cd /home/nginx/conf.d
vim nginx.conf

docker以及docker-compose的安装和使用详情(三)之一些环境的构建(mysql,redis,es,nginx,jenkins)_第3张图片
创建容器的启动和停止

docker-compose up -d 
docker-compose stop //停止nginx和jenkins 两者结合可以进行重启
Jenkins配置(服务器ip:8080进入jenkins管理界面)]

docker以及docker-compose的安装和使用详情(三)之一些环境的构建(mysql,redis,es,nginx,jenkins)_第4张图片
以及需要安装的插件

  1. 安装 Publish Over SSH 作用: 将构建后的编译产出发布到服务器

  2. 安装Generic Webhook Trigger Plugin作用:通用 Webhook 触发器构建

全局配置ssh serve

docker以及docker-compose的安装和使用详情(三)之一些环境的构建(mysql,redis,es,nginx,jenkins)_第5张图片

全局工具配置 node.js

docker以及docker-compose的安装和使用详情(三)之一些环境的构建(mysql,redis,es,nginx,jenkins)_第6张图片

新建jenkins任务及配置

docker以及docker-compose的安装和使用详情(三)之一些环境的构建(mysql,redis,es,nginx,jenkins)_第7张图片
任务配置-源码管理

docker以及docker-compose的安装和使用详情(三)之一些环境的构建(mysql,redis,es,nginx,jenkins)_第8张图片

任务配置-构建触发器
  1. 方式选择Generic Webhook Trigger
    docker以及docker-compose的安装和使用详情(三)之一些环境的构建(mysql,redis,es,nginx,jenkins)_第9张图片
  2. 配置token
    docker以及docker-compose的安装和使用详情(三)之一些环境的构建(mysql,redis,es,nginx,jenkins)_第10张图片
  3. 关联gitee
    docker以及docker-compose的安装和使用详情(三)之一些环境的构建(mysql,redis,es,nginx,jenkins)_第11张图片
    docker以及docker-compose的安装和使用详情(三)之一些环境的构建(mysql,redis,es,nginx,jenkins)_第12张图片

任务配置-构建环境(选择事先在全局工具中配置的node.js)

docker以及docker-compose的安装和使用详情(三)之一些环境的构建(mysql,redis,es,nginx,jenkins)_第13张图片

任务配置-构建

  1. 构建选择执行shell
  2. 将编译产物打tar包,留作构建后操作使用
    docker以及docker-compose的安装和使用详情(三)之一些环境的构建(mysql,redis,es,nginx,jenkins)_第14张图片

任务配置-构建后操作

  1. 将tar包放到服务器指定目录
  2. 解压tar包,将物料放置在nginx工作目录下
    docker以及docker-compose的安装和使用详情(三)之一些环境的构建(mysql,redis,es,nginx,jenkins)_第15张图片
    最后选择应用及保存 在本地git项目中向master分支push,会发现远端jenkins 已经触发自动部署
    docker以及docker-compose的安装和使用详情(三)之一些环境的构建(mysql,redis,es,nginx,jenkins)_第16张图片
    至此,一套简单的docker 前端自动化部署就完成了。

四. docker构建es数据库

1、下载elasticsearch 和kibaba
docker pull elasticsearch:7.6.2
docker pull kibana:7.6.2
2、配置,可以被远程访问
mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data
echo "http.host: 0.0.0.0" >/mydata/elasticsearch/config/elasticsearch.yml
chmod -R 777 /mydata/elasticsearch/
3、启动Elasticsearch
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e  "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v  /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.6.2 

##### 设置开机启动elasticsearch:
docker update elasticsearch --restart=always
4、启动kibana
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.44.104:9200 -p 5601:5601 -d kibana:7.6.2

##### 设置开机自启动:
docker update kibana  --restart=always
5、测试,查看 elasticsearch,http://ip地址:9200/,

或者是
可视化的http://ip:5601/
至此完成

6 、安装中文ik分词器
注意路径是在 :plugins目录下:
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.4.2/elasticsearch-analysis-ik-7.4.2.zip











你可能感兴趣的:(docker,数据库,redis)