Docker常用服务环境搭建

Docker常用服务环境搭建


MySQL:5.7 搭建

##拉取镜像
docker pull mysql:5.7.29
##创建并且运行
docker run -d --name mysql \
        -p 3306:3306 \
        -e MYSQL_ROOT_PASSWORD=123456 \
        -v /data/docker/mysql/data:/var/lib/mysql \
        --privileged \
        mysql:5.7.29 
## 停止
docker stop mysql
## 启动
docker start mysql
## 重启
docker restart mysql
## 移除
docker rm mysql

Redis 搭建

##拉取最新镜像
docker pull redis
##创建并且运行
docker run -p 6379:6379 \
        --name redis \
        -v /data/docker/redis/redis.conf:/etc/redis/redis.conf  \
        -v /data/docker/redis/data:/data \
        --privileged -d redis:latest \
        redis-server /etc/redis/redis.conf --appendonly yes

## 停止
docker stop redis
## 启动
docker start redis
## 重启
docker restart redis
## 移除
docker rm redis

– redis.conf配置文件

百度网盘
    链接:https://pan.baidu.com/s/1_HLwEErXgCbOqp-DkJwr-w 
    提取码:ABCD

RabbitMQ搭建

##拉取镜像
docker pull rabbitmq:management
docker run --name rabbitmq \
        -d -p 15672:15672 -p 5672:5672 \
        -v /data/docker/share:/mnt --privileged \
        rabbitmq:management
##添加virtual-host
docker exec -it dev_rabbitmq rabbitmqctl add_vhost xxx
## 停止
docker stop rabbitmq
## 启动
docker start rabbitmq
## 重启
docker restart rabbitmq
## 移除
docker rm rabbitmq

MongoDB搭建

##拉取镜像
docker pull mongo
##创建并且运行
docker run -p 27017:27017 \
        -v /data/docker/mongo/db:/data/db \
        --privileged \
        --name mymongo -d mongo:latest
## 停止
docker stop mymongo
## 启动
docker start mymongo
## 重启
docker restart mymongo
## 移除
docker rm mymongo
## 进入环境
docker exec -it mymongo mongo

Elasticsearch搭建 (7.6.2版本 含ik安装)

##拉取镜像
docker pull elasticsearch:7.6.2
##安装&运行
docker run -d --name es \
        -p 9200:9200 -p 9300:9300 \
        -e "discovery.type=single-node" \
        -v /data/docker/elastic:/mnt \
        --privileged elasticsearch:7.6.2
## 停止
docker stop es
## 启动
docker start es
## 重启
docker restart es
## 移除
docker rm es

–安装ik分词器

  • 注意 进入环境后需要切换elasticsearch用户
  • ## 版本在这里找  https://github.com/medcl/elasticsearch-analysis-ik/releases
    ##下载ik分词器 需要对应你的es版本 如我这里的是7.6.2  下载地址为 https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.2/elasticsearch-analysis-ik-7.6.2.zip
    ##宿机中执行
    cd /data/docker/elastic
    wget  https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.2/elasticsearch-analysis-ik-7.6.2.zip
    ##进入es
    docker exec -it es /bin/bash
    ##进入es后执行
    su elasticsearch
    cd ~/plugins
    mkdir ik
    cd ik
    cp /mnt/elasticsearch-analysis-ik-7.6.2.zip  ./
    unzip elasticsearch-analysis-ik-7.6.2.zip 
    rm -rf *.zip
    ## 退出es的docker
    exit
    exit
    ## 重启es
    docker restart es
    ## 安装完毕
    

    MinIO安装(单点启动)

    安装后的登录用户名&密码为 admin / a12345678

    ##拉取镜像
    docker pull docker.io/minio/minio
    ##安装并运行
    docker run -d --name minio -v /data/docker/MinIO/data/:/data \
             -p 9000:9000 --privileged \
             -e "MINIO_ACCESS_KEY=admin" \
             -e "MINIO_SECRET_KEY=a12345678" \
             docker.io/minio/minio server /data
    ## 停止
    docker stop minio
    ## 启动
    docker start minio
    ## 重启
    docker restart minio
    ## 移除
    docker rm minio
    

    Nginx安装与搭建

    ##拉取镜像
    docker pull nginx
    ##安装并运行
    docker run --name nginx -p 80:80 \
            -v /data/docker/nginx/nginx.conf:/etc/nginx/nginx.conf \
            -v /data/docker/nginx/log:/var/log/nginx \
            -v /data/docker/nginx/conf:/etc/nginx/conf.d \
            --privileged -d nginx
    ## 重载配置
    docker exec -it nginx nginx -s reload
    ## 停止
    docker stop nginx
    ## 启动
    docker start nginx
    ## 重启
    docker restart nginx
    ## 移除
    docker rm nginx
    
    • default.conf 文件 (复制到/data/docker/nginx/conf 下)
    server {
        listen       80;
        listen  [::]:80;
        server_name  localhost;
    
        #charset koi8-r;
        #access_log  /var/log/nginx/host.access.log  main;
    
        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }
    
        #error_page  404              /404.html;
    
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
    
        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}
    
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}
    
        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }
    
    • nginx.conf文件 默认
    user  nginx;
    worker_processes  1;
    
    error_log  /var/log/nginx/error.log warn;
    pid        /var/run/nginx.pid;
    
    
    events {
        worker_connections  1024;
    }
    
    
    http {
        include       /etc/nginx/mime.types;
        default_type  application/octet-stream;
    
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
    
        access_log  /var/log/nginx/access.log  main;
    
        sendfile        on;
        #tcp_nopush     on;
    
        keepalive_timeout  65;
    
        #gzip  on;
    
        include /etc/nginx/conf.d/*.conf;
    }
    
    • 添加一个http映射的例子 default.conf
    upstream demoserver{
        server 192.168.0.114:8080 weight=100;
    }
    server {
        listen       80;
        listen  [::]:80;
        server_name  localhost;
    
        location /demo {
            proxy_pass http://demoserver/demo;
            add_header Access-Control-Allow-Headers *;
        }
    
    
        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }
    
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
        
    }
    

猜你喜欢

转载自blog.csdn.net/sail331x/article/details/108359347
今日推荐