构建mysql

  • 运行centos7容器 docker run --privileged -dti --name=centos-container centos:7 /usr/sbin/init
  • 查询centos7容器 docker ps -a
  • 进入centos7容器 docker exec -it CONTAINER ID /bin/bash
  • 安装mysql数据库 yum install -y mariadb-server
  • 启动数据库 systemctl start mariadb
  • 修改用户状态
mysql
mysql -u root
use mysql;
select * from user;
delete from user where Host <> '127.0.0.1';
update user set Host = '%', Password=password('zmkj1123');
flush privileges;
  • 退出系统创建镜像 docker commit -m "centos add mysql" -a "M.Zeng" ae3c246eceaa zeng/mysql:5.5
  • 启动mysql容器 docker run -dti -p 3306:3306 --name=mysql-container --privileged --net=host zeng/mysql:5.5 /usr/sbin/init

构建redis

  • 运行redis容器 docker run -d -p 6379:6379 --name=redis-container redis
  • 优化:使用自定义redis配置文件 https://www.cnblogs.com/cgpei/p/7151612.html
  • docker run -d -p 6379:6379 --name=redis-container -v /etc/redis.conf:/etc/redis/redis.conf redis redis-server /etc/redis/redis.conf

-v $PWD/data:/data redis:3.2 redis-server /etc/redis/redis.conf --appendonly yes```

######## NETWORK ########
# bind 192.168.1.100 127.0.0.1
protected-mode yes
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 300 ######## GENERAL ########
daemonize yes
supervised no
pidfile /var/run/redis.pid
loglevel notice
logfile ""
databases 16 ################################ SNAPSHOTTING #################################
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
# 工作目录,数据库镜像备份的文件放置的路径。注意这里必须制定一个目录而不是文件
dir ./ ######## REPLICATION ########
slave-serve-stale-data yes
slaveread-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100 ######## SECURITY ########
requirepass zm#1123 ######## APPEND ONLY MODE ########
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes ######## LUASCRIPTING ########
lua-time-limit 5000 ######## SLOW LOG ########
slowlog-log-slower-than 10000
slowlog-max-len 128 ######## LATENCY MONITOR ########
latency-monitor-threshold 0 ######## EVENT NOTIFICATION ########
notify-keyspace-events "" ######## ADVANCED CONFIG ########
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes

构建rabbitmq

docker run -dti --name rabbitmq-container -p 4369:4369 -p 5671:5671 -p 5672:5672 -p  15671:15671 -p 15672:15672 -p 25672:25672  -e RABBITMQ_DEFAULT_USER=bms -e RABBITMQ_DEFAULT_PASS='zmkj1123' rabbitmq:3-management

构建nginx

docker run -d -p 80:80 --name=nginx-container -v /Data/html:/Data/html -v /Data/logs:/Data/logs -v /etc/nginx.conf:/etc/nginx/nginx.conf nginx
  • nginx.conf
worker_processes auto;
pid /Data/logs/nginx.pid;
events {
worker_connections 1024;
use epoll;
}
##定义nginx访问日志状态,连接参数,超时时间等基本调优###
http {
include mime.types;
default_type application/octet-stream;
log_format bms '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /Data/logs/access.log bms;
server_tokens off;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 60;
send_timeout 60;
client_header_timeout 30;
client_body_timeout 60; ##访问url下gateway跳转到后端两台服务器9100端口##
upstream gw {
server 118.31.114.152:9100 weight=1;
} ##监听80端口,ip解析域名,/gateway跳转到后端9100端口####
server {
listen 80;
charset utf8;
location ^~/gateway {
proxy_pass http://gw;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_next_upstream http_404 http_403 http_502 http_504 error timeout invalid_header;
}
##定义网页发布路径为/opt/html/###
location / {
root /Data/html;
index index.html index.htm;
}
}
}

Docker构建其它组件的更多相关文章

  1. 手把手教你用Spring Cloud和Docker构建微服务

    什么是Spring Cloud? Spring Cloud 是Pivotal提供的用于简化分布式系统构建的工具集.Spring Cloud引入了云平台连接器(Cloud Connector)和服务连接 ...

  2. [转]利用Docker构建开发环境

    利用Docker构建开发环境 Posted by  makewonder on 2014 年 4 月 2 日   最近接触PAAS相关的知识,在研发过程中开始使用Docker搭建了自己完整的开发环境, ...

  3. 视频私有云实战:基于Docker构建点播私有云平台

    私有云是为一个客户单独使用而构建的,因而提供对数据.安全性和服务质量的最有效控制.前置条件是客户拥有基础设施,并可以使用基础设施在其上部署应用程序.其核心属性是专有的资源.本篇文章将会结合网易云信的实 ...

  4. RabbitMQ(四):使用Docker构建RabbitMQ高可用负载均衡集群

    本文使用Docker搭建RabbitMQ集群,然后使用HAProxy做负载均衡,最后使用KeepAlived实现集群高可用,从而搭建起来一个完成了RabbitMQ高可用负载均衡集群.受限于自身条件,本 ...

  5. 使用Docker构建持续集成与自动部署的Docker集群

    为什么使用Docker " 从我个人使用的角度讲的话  部署来的更方便 只要构建过一次环境 推送到镜像仓库 迁移起来也是分分钟的事情 虚拟化让集群的管理和控制部署都更方便 hub.docke ...

  6. Dockerfile与Docker构建流程解读

    摘要 本文主要讨论了对docker build的源码流程进行了梳理和解读,并分享了在制作Dockerfile过程中的一些实践经验,包括如何调试.优化和build中的一些要点.另外,还针对现有Docke ...

  7. selenium结合docker构建分布式测试环境

    selenium是目前web和app自动化测试的主要框架.对于web自动化测试而言,由于selenium2.0以后socker服务器由本地浏览器自己启动且直接通过浏览器原生API操作页面,故越来越多的 ...

  8. 【JAVASCRIPT】React学习-如何构建一个组件

    摘要 react 学习包括几个部分: 文本渲染 JSX 语法 组件化思想 数据流 组件化思想 组件就是 UI + UI 交互逻辑,组件有三个常规map , 分别为state 状态 . props 数据 ...

  9. 使用Spring Cloud和Docker构建微服务架构

    原文:https://dzone.com/articles/microservice-architecture-with-spring-cloud-and-do 作者:Alexander Lukyan ...

随机推荐

  1. @ControllerAdvice详解

    @ControllerAdvice,是Spring3.2提供的新注解,从名字上可以看出大体意思是控制器增强.让我们先看看@ControllerAdvice的实现:   package org.spri ...

  2. jQuery取得radio的值 取select得值

    获取一组单选按钮对象: var obj_payPlatform = $('#wrap input[name="payMethod"]'); 获取被选中按钮的值 : var val_ ...

  3. 禁止网站显示文件目录列表的方法(htaccess)

    主机默认都可以把网站内的文件以列表的形式显示出来: 修改.htaccess文件 在空间网站的根目录下找到.htaccess文件,空间路径一般在/home/YouUsername/public_html ...

  4. zigbee_蓝牙_wifi的比较与区别分析

    现在无线通读热了起来.三个最大的Wifi.ZigBee.蓝牙它们三个始终困惑着我.那么它们三个有什么区别呢? Zigbee 和蓝牙都是一项无线通信技术.ZigBee的传输距离视发射功率而定,有几百到几 ...

  5. Codeforces Round #552 (Div. 3) B题

    题目链接:http://codeforces.com/contest/1154/problem/B 题目大意:给出n个数,每个数都可以加上或减去这个一个数D,求对这n个数操作之后当所有数都相等时,D的 ...

  6. appium三种等待时间

    1.强制等待(固定等待) 2.隐式等待 是appium中webdriver中自带的休眠方法,设置的是全局等待时间(在全局等待时间内之间的响应操作都会立即结束等待,然后进行操作) 3.显式等待

  7. MySQL主主

    MySQL双主(主主)架构方案   在企业中,数据库高可用一直是企业的重中之重,中小企业很多都是使用mysql主从方案,一主多从,读写分离等,但是单主存在单点故障,从库切换成主库需要作改动.因此,如果 ...

  8. labellmg的使用

    ---恢复内容开始--- 在powershell环境下进入到labelImg解压后的文件,我这里是D:\labelImg-master\labelImg-master 执行命令: pyrcc5 -o ...

  9. java中实现对list的模糊查询

    比如我有下面这样一个List,里面存放的是多个Employee对象.然后我想对这个List进行按照Employee对象的名字进行模糊查询.有什么好的解决方案么?比如我输入的查询条件为“wang”,那么 ...

  10. centos7 安装 redis4.0.8

    1.安装lrzsz yum install lrzsz -y 2.利用rz命令将window中从redis官网下载好的“redis-4.0.8.tar.gz” 拷贝到centos中 redis官网 : ...