• Docker安装操作常用服务器软件


    1、查看centos版本

    rpm -q centos-release

    2、更新yum

    yum update -y

    3、删除以前版本的docker

    yum remove docker \
                      docker-client \
                      docker-client-latest \
                      docker-common \
                      docker-latest \
                      docker-latest-logrotate \
                      docker-logrotate \
                      docker-engine

    4、安装yum工具

    如果前面更新了,这一步可以省略

    yum install -y yum-utils device-mapper-persistent-data lvm2

    5、设置阿里云镜像,速度快

    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

    6、设置CentOS的安装密钥

    rpm --import https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

    7、查看docker版本

    yum list docker-ce --showduplicates | sort -r

    8、安装最新版本的docker

    yum install docker-ce docker-ce-cli containerd.io

    9、启动

    systemctl start docker

    10、查看版本

    docker version

    11、设置自动启动

    systemctl enable docker

    12、查看下载的镜像

    docker images

    13、列出远程镜像

    docker search <镜像名称>

    14、退出容器

    ctrl+D

    15、查看日志

    docker logs NAMES

    16、设置阿里云镜像,快速下载软件

    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["https://你申请的镜像号.mirror.aliyuncs.com"]
    }
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker

    17、安装mysql

    (1) 下载

    docker pull mysql

    (2) 启动mysql

    docker run -d --restart=always --name mysql -p 3306:3306 -v /home/mysql/data:/var/lib/mysql -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/log:/var/log/mysql -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=123456 mysql:latest --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci

    (3) 停止mysql

    // 查看所有的容器
    docker ps -a
    // 停止容器
    docker stop mysql
    // 删除容器
    docker rm mysql
    // 删除镜像
    docker rmi mysql

    (4) 配置mysql

    vi /home/mysql/conf/my.cnf

    [client]
    default-character-set=utf8
    ​
    [mysql]
    default-character-set=utf8
    ​
    [mysqld]
    init_connect='SET collation_connection = utf8_unicode_ci'
    init_connect='SET NAMES utf8'
    character-set-server=utf8
    collation-server=utf8_unicode_ci
    skip-character-set-client-handshake
    skip-name-resolve

    (5) 进入交互容器中

    docker exec -it mysql01 bash

    18、安装redis

    (1) 下载redis最新版

    docker pull redis

    (2) 启动redis

    mkdir -p /home/redis/conf
    touch /home/redis/conf/redis.conf
    ​
    docker run -p 6379:6379 --name redis \
    -v /home/redis/data:/data \
    -v /home/redis/conf/redis.conf:/etc/redis/redis.conf \
    -d redis redis-server /etc/redis/redis.conf

    (3) 配置redis持久化

    vi /home/redis/conf/redis.conf 加入appendonly yes

    (4) 自启动redis

    docker update redis --restart=always

    19、安装elasticsearch

    (1)下载

    docker pull elasticsearch:7.4.2  // 检查和存储数据
    docker pull kibana:7.4.2   // 可视化检索数据
    修改镜像名称:docker tag <镜像ID> elasticsearch
    删除原先的镜像: docker rmi <旧的镜像名称>

    (2)配置

    mkdir -p /home/elasticsearch/config
    mkdir -p /home/elasticsearch/data
    echo "http.host: 0.0.0.0" >> /home/elasticsearch/config/elasticsearch.yml

    (3)启动ES

    docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
    -e  "discovery.type=single-node" \
    -e ES_JAVA_OPTS="-Xms128m -Xmx256m" \
    -v /home/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
    -v /home/elasticsearch/data:/usr/share/elasticsearch/data \
    -v  /home/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
    -d elasticsearch:7.4.2

    (4)启动kibana:7.4.2

    docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.1.100:9200 -p         5601:5601 -d kibana:7.4.2
    ​
    chmod -R 777 /home/elasticsearch/  // 修改目录权限
    docker logs elasticsearch  // 查看日志
        
    elasticsearch有2个端口,分别如下:
    9300端口: ES节点之间通讯使用
    9200端口: ES节点 和 外部 通讯使用

    (5)进入容器

    docker exec -it elasticsearch /bin/bash

    (6)安装 ik 分词器

    ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v8.0.0/elasticsearch-analysis-ik-8.0.0.zip

    (7)修改 es 配置文件

    vi ./config/elasticsearch.yml ​ cluster.name: "docker-cluster" ​ network.host: 0.0.0.0

    # minimum_master_nodes need to be explicitly set when bound on a public IP
    # set to 1 to allow single node clusters
    # Details: https://github.com/elastic/elasticsearch/pull/17288
    discovery.zen.minimum_master_nodes: 1
    ​
    # just for elasticsearch-head plugin
    http.cors.enabled: true
    http.cors.allow-origin: "*"

    20、安装zookeeper(单点部署)

    (1)下载

    docker pull zookeeper:3.4.9

    (2)运行

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

    如果运行失败,可以关掉防火墙,并把挂载本地的目录权限设置最高

    查看状态:systemctl status firewalld
    关闭防火墙: systemctl stop firewalld
    禁用防火墙:systemctl disable firewalld
    ​
    // 设置防火墙
    chmod 777 /home/zookeeper/data  
    chmod 777 /home/zookeeper/conf

    (3)自动运行

    docker update zk --restart=always

    21、安装Kafka(单点部署)

    (1)下载

    docker pull bitnami/kafka

    (2)运行

    docker run -d --name kafka -p 9092:9092 \
    -e KAFKA_BROKER_ID=0 \
    -e KAFKA_ZOOKEEPER_CONNECT=192.168.1.199:2181 \
    -e ALLOW_PLAINTEXT_LISTENER=yes \
    -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.1.199:9092 \
    -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
    -t bitnami/kafka

    (3)自动运行

    docker update kafka --restart=always

    (4)进行容器

    docker exec -it kafka /bin/sh

    (5)进入 目录

    $ cd /opt/bitnami/kafka/bin/

    (6)生产者发送消息

    $ ./kafka-console-producer.sh --broker-list localhost:9092 --topic sun

    // 发送消息
    ​
    > {"datas":[{"channel":"","metric":"temperature","producer":"ijinus","sn":"IJA0101-00002245","time":"1543207156000","value":"80"}],"ver":"1.0"}

    (7)消费者接收消息

    $ ./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic sun --from-beginning
  • 相关阅读:
    【SQL】SQL语句执行顺序
    后端Boy转为数据库Boy基础最流行的SQL题,学完可以巩固几乎所有的查询,推荐分享
    Leetcode 3286. Find a Safe Walk Through a Grid
    2020年中职组“网络安全”赛项广东省竞赛任务书
    Python爬虫简介
    从入门到精通|Yalmip+Cplex在电力系统中的应用(超棒,看不懂算我输,没有收获也算我输)
    【面试题精讲】SpringBoot的传播机制详解
    创新案例|云服务平台HashiCorp是如何构建开源社区实现B2B增长飞轮
    Web系统常见安全漏洞介绍及解决方案-XSS攻击
    腾讯云相同配置8核16G的云服务器和轻量服务器该如何选择?
  • 原文地址:https://blog.csdn.net/Tiger_Paul/article/details/125917501