docker安装常用软件

docker基础

  • 移除旧版docker

    sudo yum remove docker 
                      docker-client 
                      docker-client-latest 
                      docker-common 
                      docker-latest 
                      docker-latest-logrotate 
                      docker-logrotate 
                      docker-selinux 
                      docker-engine-selinux 
                      docker-engine
    
  • 使用yum安装docker

    #安装依赖包
    sudo yum install -y yum-utils
    
    #鉴于国内网络问题,强烈建议使用国内源
    sudo yum-config-manager 
        --add-repo 
        https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
        
    sudo sed -i 's/download.docker.com/mirrors.ustc.edu.cn/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
    
    #安装docker
    sudo yum install docker-ce docker-ce-cli containerd.io
    
    #设置docker开机自启
    sudo systemctl enable docker
    #启动docker
    sudo systemctl start docker
    
    #国内从 Docker Hub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。国内很多云服务商都提供了国内加速器服务,在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件):
    
    {
      "registry-mirrors": [
        "https://hub-mirror.c.163.com",
        "https://mirror.baidubce.com"
      ],
      "log-driver":"json-file",
      "log-opts": {"max-size":"500m", "max-file":"3"}
    }
    
    #修改完配置重启一下
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    

docker安装mysql

  • 安装mysql

    #创建mysql配置存放目录
    mkdir -p /home/dockerData/mysql
    
    #docker拉取mysql镜像
    docker pull mysql:5.7
    
    #运行mysql
    docker run --name mysql -v /home/dockerData/mysql/conf:/etc/mysql/conf.d -v /home/dockerData/mysql/logs:/logs -v /home/dockerData/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d -i -p 3306:3306 mysql:5.7
    
    #进入mysql调整模式配置,允许远程登录
    docker exec -it mysql bash
    mysql -uroot -p
    use mysql;
    select host,user from user;
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
    flush privileges;
    exit;
    
  • 修改mysql配置

    cd /home/dockerData/mysql/conf
    #修改my.cnf,没有就新建一个
    touch my.cnf
    vi my.cnf
    

    开启binlog,添加内容如下

    [mysqld]
    #集群时需指定,多台mysql服务器不能重复
    server_id=1
    #开启binlog日志
    log_bin=mysql-bin
    #格式STATEMENT、ROW、MIXED。这里使用ROW
    binlog_format=ROW
    #日志的基本文件名,后面会追加标识来表示每一个文件
    #log_bin_basename=/var/lib/mysql/mysql-bin
    #binlog文件的索引文件,这个文件管理了所有的binlog文件的目录
    log_bin_index=/var/lib/mysql/mysql-bin.index
    # binlog日志保留的天数,清除超过10天的日志
    # 防止日志文件过大,导致磁盘空间不足
    expire-logs-days=10 
    #单个日志文件的大小
    max_binlog_size=500M
    

docker安装redis

  • 安装redis

    #创建redis配置存放目录
    mkdir -p /home/dockerData/redis/conf
    mkdir -p /home/dockerData/redis/data
    
    #修改redis.conf,添加以下内容
    
    #许远程连接
    #bind 127.0.0.1
    protected-mode no
    #持久化
    appendonly yes
    #密码
    requirepass 123456
    
    
    #拉取redis
    docker pull redis
    
    #启动redis
    docker run -p 6379:6379 --name redis -v /home/dockerData/redis/conf/:/etc/redis/  -v /home/dockerData/redis/data/:/data -d redis redis-server /etc/redis/redis.conf
    

docker安装rabbitmq

  • 安装rabbitmq

    #创建mysql配置存放目录
    mkdir -p /home/dockerData/rabbitmq/data
    
    #获取management版本的,不要获取last版本的,management版本的才带有管理界面。
    docker pull rabbitmq:management
    
    #启动
    docker run -d -p 5672:5672 -p 15672:15672 --name rabbitmq -v /home/dockerData/rabbitmq/data:/var/lib/rabbitmq rabbitmq:management
    

docker安装nginx

  • 安装nginx

    #创建nginx的配置目录
    mkdir -p /home/dockerData/nginx/{conf.d,html,log}
    
    #获取nginx镜像
    docker pull nginx
    
    #简单启动
    docker run --name nginx -p 80:80 -d nginx
    
    #复制文件
    docker cp nginx:/etc/nginx/nginx.conf /home/dockerData/nginx/nginx.conf
    docker cp nginx:/etc/nginx/conf.d /home/dockerData/nginx
    docker cp nginx:/var/log/nginx/ /home/dockerData/nginx/log
    docker cp nginx:/usr/share/nginx/html/ /home/dockerData/nginx/
    
    #移除之前的简单nginx
    docker rm -f nginx
    
    #后台启动nginx
    docker run --name nginx -d -p 80:80 -v /home/dockerData/nginx/log:/var/log/nginx -v /home/dockerData/nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/dockerData/nginx/conf.d:/etc/nginx/conf.d -v /home/dockerData/nginx/html:/usr/share/nginx/html nginx
    

docker安装elasticsearch

  • 安装es

    #创建mysql配置存放目录
    mkdir -p /home/dockerData/es
    
    #拉取es镜像
    docker pull elasticsearch:7.2.0
    #简单运行es
    docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.2.0 
    
    # 复制 es 配置文件目录到宿主机指定目录,目标目录你可以根据需要,自行修改
    docker cp es:/usr/share/elasticsearch/config /home/dockerData/es
    # 复制 es 持久化数据目录到宿主机指定目录
    docker cp es:/usr/share/elasticsearch/data /home/dockerData/es
    # 复制 es 插件目录到宿主机指定目录
    docker cp es:/usr/share/elasticsearch/plugins /home/dockerData/es
    
    #移除原来的es
    docker rm -f es
    
    #启动es
    docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -v /home/dockerData/es/config:/usr/share/elasticsearch/config -v /home/dockerData/es/data:/usr/share/elasticsearch/data -v /home/dockerData/es/plugins:/usr/share/elasticsearch/plugins elasticsearch:7.2.0 
    
  • 安装es head插件

    docker pull mobz/elasticsearch-head:5
    docker run --name es-head -d -p 9100:9100 mobz/elasticsearch-head:5
    
    #修改es配置,允许跨域
    vi /home/dockerData/es/config/elasticsearch.yml
    
    #添加如下内容并保存
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    
    #重启es
    docker restart es
    
    
  • 用head插件查询时报错

    {"error":"Content-Type header [application/x-www-form-urlencoded] is not supported","status":406}
    #处理办法
    sudo docker exec -it -u root elasticsearch-head /bin/bash
    修改 vendor.js 共有两处,重启head插件
    vi _site/vendor.js
    
    6886行
    contentType: "application/x-www-form-urlencoded
    改成
    contentType: “application/json;charset=UTF-8”
    7573行
    var inspectData = s.contentType === “application/x-www-form-urlencoded” &&
    改成
    var inspectData = s.contentType === “application/json;charset=UTF-8” &&
    
    docker基础容器中 bash: vim: command not found 问题解决
    
    这是因为vim没有安装, 安装即可
    先更新,防止提示:Unable to locate package vim
    apt-get update
    apt-get install vim
    
原文地址:https://www.cnblogs.com/YangJavaer/p/14377101.html