构建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. Android 如何避免运行时奔溃

    奔溃问题 android运行的时候难免会有一些空指针(NullPointerException)或者下标越界(IndexOutOfBoundsException),用户使用的过程操作某一个按钮的时候, ...

  2. 大数据学习笔记5 - Spark

    Spark是一个基于内存计算的大数据并行计算框架.所以,Spark并不能完全替代Hadoop,主要用于替代Hadoop中的MapReduce计算模型. 在实际应用中,大数据处理无非是以下几个类型: 复 ...

  3. QT Designer基础——登录界面设计基础版

    认识QT Designer提供的可选控件:以下八个大类 Layouts:布局相关 Spacers:留空 Buttons:可点击的按钮类 Item Views和 Item Widgets:高级控件,例如 ...

  4. 原型设计工具—Axure

    作为软件设计的一员,需要在软件开发初期确保软件的具体内容,防止后期大幅度的修改. 在这样的情况下,原型设计软件就起到了关键的作用. 摘要: 原型设计为什么这么重要呢? 因为它帮助我们搭建了低保真或高保 ...

  5. wpf Binding 小记录

    1.后台属性绑定: Grid g = new Grid() { Width = 60, Height = 100 }; g.SetValue(Panel.ZIndexProperty, 10); // ...

  6. java调用本地播放器播放视频文件。调用本地播放器不能播放指定文件的说明。

    public class OpenExe extends HttpServlet { //打开本地播放器并播放视频 public static void openExe(String file) { ...

  7. C#smtp邮件消息提醒的一些bug总结

    软件通过检测公众号的某些链接是否异常发邮件提醒.. 1:网上找了些方法有说ssl  system.net.mail 不支持 ,这种说法是有问题的,其方法内设置的验证账号写成了邮箱的地址而不是账号也就是 ...

  8. 20175325 《JAVA程序设计》实验一 《JAVA开发环境的熟悉》实验报告

    20175325 <JAVA程序设计>实验一 <JAVA开发环境的熟悉>实验报告 一.实验内容及步骤 (一).实验一: 实验要求: 0 参考实验要求 1 建立"自己学 ...

  9. canvas的使用方法

    了解canvas:canvas标签是用作图形绘制,但是通过js脚本来实现的,canvas标签其实只是一个容器 ,最终实现绘制功能肯定是通过js脚本实现. 首先肯定要定义一个canvas标签当做容器 & ...

  10. 如何为shell安装有道及更新pip.

    今天尝试安装shell下的有道翻译,提示需要安装pip. [root@mestery ~]# yum install python-pip [root@mestery ~]# sudo pip ins ...