docker安装和一些中间件docker镜像

 


一、docker是什么?

Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现



二、docker环境准备


1.docker安装

sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 
sudo yum install docker-ce

vi /etc/docker/daemon.json 
{
        "bip":"172.18.6.1/24",
        "registry-mirrors":["https://0wzvqt6n.mirror.aliyuncs.com"],
        "insecure-registries":["192.168.244.10:5000"]
}

systemctl daemon-reload
systemctl restart docker


2.docker-compose安装

sudo curl -L https://github.com/docker/compose/releases/download/1.17.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

3.docker仓库服务

docker login -u 111@qq.com aaa-docker.pkg.coding.net

4.docker挂载目录约定

数据目录:/docker-data
日志目录:/docker-log


三、项目环境搭建

1.zookeeper搭建

docker run -d  -p 2181:2181  -v /home/zookeeper/data/:/data/  --name=zookeeper  --privileged zookeeper:3.4.9

2.redis搭建

 docker run -d --name redis -p 6379:6379 redis  --requirepass "123456"

3.mysql主从搭建

 a、创建mysql主从库配置目录
    mkdir -p /docker-data/mysql/master/conf
    mkdir -p /docker-data/mysql/slave/conf
 b、在/docker-data/mysql/master/conf下,创建my.cnf配置文件
    [client]
    port=3306
    default-character-set=utf8
    [mysql]
    default-character-set=utf8
    [mysqld]
    character_set_server=utf8
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    # 配置大小写不敏感
    lower_case_table_names=1
    ## 同一局域网内注意要唯一
    server-id=100  
    ## 开启二进制日志功能(关键)
    log-bin=mysql-bin
 c、在/docker-data/mysql/slave/conf下,创建my.cnf配置文件
    [client]
    port=3306
    default-character-set=utf8
    [mysql]
    default-character-set=utf8
    [mysqld]
    character_set_server=utf8
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    # 配置大小写不敏感
    lower_case_table_names=1
    ## 同一局域网内注意要唯一
    server-id=101
 d、使用docker-compose来管理mysql主从库
    vi docker-compose.yaml

    version: '3'
    services:
    mysql-slave:
        image: mysql:5.7
        depends_on:
        - mysql-master
        links:
        - mysql-master
        volumes:
        - /docker-data/mysql/slave/data:/var/lib/mysql
        - /docker-data/mysql/slave/conf:/etc/mysql
        - /docker-data/mysql/slave/log:/var/log/mysql
        ports:
            - "3308:3306"
        restart: always
        environment:
        MYSQL_ROOT_PASSWORD: root
        container_name: mysql-slave
    mysql-master:
        image: mysql:5.7
        volumes:
        - /docker-data/mysql/master/data:/var/lib/mysql
        - /docker-data/mysql/master/conf:/etc/mysql
        - /docker-data/mysql/master/log:/var/log/mysql
        ports:
            - "3307:3306"
        restart: always
        environment:
        MYSQL_ROOT_PASSWORD: root
        container_name: mysql-master
 e、启动compose来启动mysql
    docker-compose up -d
 f、数据库配置,进入容器连接主库并创建数据同步用户
   mysql -uroot -proot
   CREATE USER 'slave'@'%' IDENTIFIED BY '123456';
   GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';
   
   SHOW MASTER STATUS ;
 g、从数据库配置,连接从库配置从库同步连接(指定连接的ip/port/user/passwd以及上图中show master status命令得到的file和position值)
    CHANGE MASTER TO MASTER_HOST='192.168.42.101',MASTER_PORT=3307,MASTER_USER='slave',MASTER_PASSWORD='123456',
        MASTER_LOG_FILE='mysql-bin.000003',MASTER_LOG_POS=617;
    #启动同步进程
    START SLAVE;
 h、测试结果状态
    SHOW PROCESSLIST;

4.mongodb搭建

 docker run -d --name mongo -p 27017:27017 -v /docker-data/mongo:/data/db  mongo

5.fastdfs图片服务

docker run --add-host fastdfs.net:192.168.244.10 --name fastdfs --net=host -e TRACKER_ENABLE=1 -e NGINX_PORT=8181 -v /docker-data/fastdfs:/storage/fastdfs -it mypjb/fastdfs

进入容器内修改mod_fastdfs配置,vi /usr/local/nginx/modules/fastdfs/src/mod_fastdfs.conf

修改tracker_server地址

修改nginx配置,vi /usr/local/nginx/conf/nginx.conf

重启nginx服务,nginx  -s  reload

退出容器(ctrl + Q)

6.rabbitMQ服务

docker run -d --name mq -p 5672:5672 -p 15672:15672 -v /docker-data/rabbitmq:/var/lib/rabbitmq -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin rabbitmq:3.7.14-management

7.nginx服务

docker run -ti -p 80:80 --name nginx --privileged -d -v /home/docker-data/nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/docker-data/nginx/error.log:/etc/nginx/log/error.log -v /home/docker-data/nginx/server/:/etc/nginx/conf.d/ -v /home/docker-data/nginx/web/:/root/web/ --privileged=true nginx

 8.Elasticsearch服务

## 1、下载Elasticsearch7.6.2的docker镜像
docker pull elasticsearch:7.6.2
## 2、修改虚拟内存区域大小,否则会因为过小而无法启动
sysctl -w vm.max_map_count=262144
## 3、使用如下命令启动Elasticsearch服务
docker run -p 9200:9200 -p 9300:9300 --name elasticsearch \
-e "discovery.type=single-node" \
-e "cluster.name=elasticsearch" \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-d elasticsearch:7.6.2
## 4、启动时会发现/usr/share/elasticsearch/data目录没有访问权限,只需要修改/mydata/elasticsearch/data目录的权限,再重新启动即可;
chmod 777 /mydata/elasticsearch/data/
## 5、安装中文分词器IKAnalyzer,并重新启动:
docker exec -it elasticsearch /bin/bash
## 6、此命令需要在容器中运行
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.2/elasticsearch-analysis-ik-7.6.2.zip
#重启
docker restart elasticsearch
## 7、开启防火墙
firewall-cmd --zone=public --add-port=9200/tcp --permanent
firewall-cmd --reload
## 8、访问会返回版本信息:http://localhost:9200

 9.Logstash安装

## 下载Logstash7.6.2的docker镜像
docker pull logstash:7.6.2
## 修改Logstash的配置文件logstash.conf中output节点下的Elasticsearch连接地址为es:9200,配置文件地址:/document/elk/logstash.conf
output {
  elasticsearch {
    hosts => "es:9200"
    index => "mall-%{type}-%{+YYYY.MM.dd}"
  }
}
## 使用如下命令启动Logstash服务;
docker run --name logstash -p 4560:4560 -p 4561:4561 -p 4562:4562 -p 4563:4563 \
--link elasticsearch:es \
-v /mydata/logstash/logstash.conf:/usr/share/logstash/pipeline/logstash.conf \
-d logstash:7.6.2
## 进入容器内部,安装json_lines插件。
logstash-plugin install logstash-codec-json_lines

 10.Kibana安装

## 1、下载Kibana7.6.2的docker镜像:
docker pull kibana:7.6.2
## 2、使用如下命令启动Kibana服务:
docker run --name kibana -p 5601:5601 \
--link elasticsearch:es \
-e "elasticsearch.hosts=http://es:9200" \
-d kibana:7.6.2
## 3、开启防火墙:
firewall-cmd --zone=public --add-port=5601/tcp --permanent
firewall-cmd --reload
## 4、访问地址进行测试:http://localhost:5601


提示:未完待续

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值