构建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. java 图片转base64字符串、base64字符串转图片

    java 图片转base64字符串.base64字符串转图片 1. 图片转base64字符串: /** * base64编码字符串转换为图片 * @param imgStr base64编码字符串 * ...

  2. dev 控件的treelist

    最近项目中要求用dev 控件的treelist 树形控件. 如下图 要求如下: 1:选择父节点后,子节点全部打钩: 2:选择子节点而不选择父节点,则从当前节点的父节点一直到根节点check框都是半选状 ...

  3. @ControllerAdvice详解

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

  4. pycharm连接mysql数据库插入中文数据时出现1366编码错误

    创建数据库的时候应该这样创建: create database xxxxxxx DEFAULT CHARSET utf8 COLLATE utf8_general_ci:

  5. SQL语句 拆分某些字段,一行变多行

    原文链接:http://bbs.csdn.net/topics/310219852 ------------------------------------- -- Author : liangCK ...

  6. concurrentHashMap求size

    在 JDK1.7 中,首先会使用不加锁的模式去尝试多次计算 ConcurrentHashMap 的 size,最多三次,比较前后计算的结果,结果一致就认为当前没有元素加入,计算的结果是准确的.如果不符 ...

  7. git pre-push hook

    This article introduces git pre-push hook. Problem In Lean project, we use a modified version of Goo ...

  8. Exp2 后门原理与实践 20165110

    Exp2 后门原理与实践 一.实验要求 1.使用netcat获取主机操作Shell,cron启动 2.使用socat获取主机操作Shell, 任务计划启动 3.使用MSF meterpreter(或其 ...

  9. flock - 必应词典

    flock - 必应词典 美[flɑk]英[flɒk] v.聚集:群集:蜂拥 n.(羊或鸟)群:(尤指同类人的)一大群 网络羊群:大量:羊群,一群 变形复数:flocks:过去分词:flocked:现 ...

  10. vue 配置了全局的http拦截器,单独某个组件不需要这个拦截器,如何设置

    之前写过关于全局配置http拦截器的随笔,现在有个需求,在微信支付时,生成二维码,页面显示一个遮罩层,二维码页面需要每两秒请求一次接口,若返回结果为已支付,则进行页面跳转,但因为全局http中load ...