美文网首页
docker之(二)安装容器

docker之(二)安装容器

作者: 与乐为乐 | 来源:发表于2020-11-22 23:14 被阅读0次

    一、安装MySQL

    #1、下载mysql 5.7镜像
     docker pull mysql:5.7
    
    #2、查看docker镜像
    docker images
    
    #3、创建实例并启动
    docker run -p 3306:3306 --name mysql \
    -v /data/mysql/log:/var/log/mysql \
    -v /data/mysql/data:/var/lib/mysql \
    -v /data/mysql/conf:/etc/mysql \
    -e MYSQL_ROOT_PASSWORD=123456 \
    -d mysql:5.7
    
    #参数说明:
    docker run :docker 启动一个容器
    -p 3306:3306 : 将容器 3306 端口映射到主机到3306端口
    --name mysql :为当前容器命名为 mysql
    \ : 换行标志
    `:` : 与容器内部的文件夹进行 挂载
    -v /data/mysql/log:/var/log/mysql : 将日志文件夹挂载到主机
    -v /data/mysql/data:/var/lib/mysql : 将mysql运行期间的数据文件挂载到主机
    -v /data/mysql/conf:/etc/mysql : 将配置文件夹挂载到主机
    -e MYSQL_ROOT_PASSWORD=123456 :初始化 root   用户密码
    
    #4、创建mysql配置文件
    vi /data/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'
    default-time-zone='+08:00'
    character-set-server=utf8
    collation-server=utf8_unicode_ci
    skip-character-set-client-handshake
    skip-name-resolve
    
    #5、重启mysql容器
    docker restart mysql
    
    #6、设置容器在docker启动的时候启动
    docker update mysql --restart=always
    
    

    二、安装redis

    #1、下载镜像(最新)
    docker pull redis
    
    #2、创建目录 / 配置文件
    mkdir -p /data/redis/conf
    #创建配置文件
    touch /data/redis/conf/redis.conf
    
    #3、安装redis / 挂载配置文件
    docker run -p 6379:6379 --name redis \
    -v /data/redis/data:/data \
    -v /data/redis/conf/redis.conf:/etc/redis/redis.conf \
    -d redis redis-server /etc/redis/redis.conf
    
    #4、连接redis容器
    docker exec -it redis redis-cli
    # 测试
    127.0.0.1:6379> set h hello
    OK
    127.0.0.1:6379> get h
    "hello"
    127.0.0.1:6379> exit
    
    #5、重启redis
    docker restart redis
    
    #6、修改redis配置文件(设置持久化)
    cd /data/redis/conf
    vi redis.conf
    #拷贝
    appendonly yes
    
    #7、设置容器在docker启动的时候启动
    docker update redis --restart=always
    
    

    三、安装nginx

    #1、下载nginx镜像(最新)
    docker pull nginx
    
    #2、创建目录 / 配置文件
    mkdir -p /data/nginx/log
    mkdir -p /data/nginx/conf
    
    #3、启动容器
    docker run --name nginx -p 80:80 -d nginx
    
    #4、从nginx容器中的目录文件拷贝到宿主机(逐条依次执行)
    docker cp nginx:/usr/share/nginx/html  /data/nginx
    docker cp nginx:/etc/nginx/nginx.conf  /data/nginx/conf
    docker cp nginx:/etc/nginx/conf.d  /data/nginx/conf
    
    #5、删除容器
    docker stop nginx
    docker rm nginx
    
    #6、安装nginx / 挂载配置文件
    docker run -p 80:80 --name nginx \
    -v /data/nginx/html:/usr/share/nginx/html \
    -v /data/nginx/log:/var/log/nginx \
    -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro \
    -v /data/nginx/conf/conf.d:/etc/nginx/conf.d \
    -d nginx
    
    #7、设置容器在docker启动的时候启动
    docker update nginx --restart=always
    
    

    http://IP/

    image.png
    Q&A
    • Q: no "events" section in configuration
    • A: 在nginx.conf文件中添加
      events {
      worker_connections 1024;
      }

    四、安装nacos

    #1、下载nacos镜像(最新)
    docker pull nacos/nacos-server:1.1.4
    
    #2、创建目录 / 配置文件
    mkdir -p /data/nacos/log
    # mkdir -p /data/nacos/conf
    
    #3、启动容器
    docker run --env MODE=standalone --name nacos -p 8848:8848 -d nacos/nacos-server:1.1.4
    
    #4、从nacos容器中的目录文件拷贝到宿主机(逐条依次执行)
    docker cp nacos:/home/nacos/conf  /data/nacos
    
    #5、删除容器
    docker stop nacos
    docker rm nacos
    
    #6、安装nacos/ 挂载配置文件(nacos默认工作目录为/home目录,可查看docker官网)
    docker run --env MODE=standalone -p 8848:8848 --name nacos \
    -v /data/nacos/conf:/home/nacos/conf \
    -v /data/nacos/log:/home/nacos/logs \
    -d nacos/nacos-server:1.1.4
    

    访问地址:http://IP:8848/nacos
    用户名/密码: nacos / nacos

    image.png

    五、安装seata

    seata官方文档:https://seata.io/zh-cn/docs/ops/deploy-by-docker.html

    # 查看seata镜像:docker search seata
    #1、下载seata镜像(1.0.0)
    docker pull seataio/seata-server:1.0.0
    
    ##2、创建目录 / 配置文件
    mkdir -p /data/seata/log
    mkdir -p /data/seata/conf
    
    #3、启动seata-server实例  / 挂载镜像文件
    docker run --name seata-server -p 8091:8091 -d seataio/seata-server:1.0.0
    
    #4、进入seata容器
    docker exec -it seata-server sh
    
    #5、修改配置 / 指定注册中心
    cd /seata-server/resources
    vi registry.conf
    
    # 配置注册中心
    registry {                                                      
      # file ...nacos ...eureka...redis...zk...consul...etcd3...sofa
      type = "nacos"                               
                                      
      nacos {                                      
        application = "seata-server"               
        serverAddr = "127.0.0.1:8848"            
        namespace = ""                             
        cluster = "default"                        
        username = "nacos"                         
        password = "nacos"                         
      } 
    ……
    :wq
    
    #5、重启seata
    docker restart seata-server
    
    #6、设置容器在docker启动的时候启动
    docker update seata-server --restart=always
    

    六、安装sentinel

    sentinel官方文档:https://github.com/alibaba/Sentinel/wiki/%E6%8E%A7%E5%88%B6%E5%8F%B0#2-%E5%90%AF%E5%8A%A8%E6%8E%A7%E5%88%B6%E5%8F%B0
    dockerHub: https://hub.docker.com/r/bladex/sentinel-dashboard/tags?page=1&ordering=last_updated

    #1、拉取sentinel镜像(1.7.1)
    docker pull bladex/sentinel-dashboard:1.7.1
    
    #2、启动容器
    docker run --name sentinel -p 8858:8858 -d bladex/sentinel-dashboard:1.7.1
    

    访问地址:http://IP:8858
    用户名/密码: sentinel / sentinel

    image.png

    七、安装zipkin 服务链路追踪

    官方文档:https://zipkin.io/

    # docker 安装 zipkin 服务器
    docker run --name zipkin -p 9411:9411 -d openzipkin/zipkin
    
    # 设置容器在docker启动的时候启动
    docker update zipkin --restart=always
    

    访问地址:http://ip:9411/zipkin/

    image.png

    八、安装RabbitMQ

    官方文档:https://www.rabbitmq.com/networking.html
    消息队列模型:https://www.rabbitmq.com/getstarted.html

    #1、docker 安装 rabbitmq
    docker run --name rabbitmq \
    -p 5671:5671 \
    -p 5672:5672 \
    -p 4369:4369 \
    -p 25672:25672 \
    -p 15671:15671 \
    -p 15672:15672 \
    -d rabbitmq:management:3.8.2
    
    #端口说明:--参考官网文档
    4369, 25672 (Erlang发现&集群端口) 
    5672, 5671 (AMQP端口) 
    15672 (web管理后台端口) 
    61613, 61614 (STOMP协议端口) 
    1883, 8883 (MQTT协议端口)
    
    # 2、设置容器在docker启动的时候启动
    docker update rabbitmq --restart=always
    

    访问地址:http://IP:15672
    用户名/密码: guest/ guest

    image.png
    image.png

    九、安装Elasticsearch

    #1、下载镜像(版本7.4.2 es与kibana版本要一致)
    docker pull elasticsearch:7.4.2
    
    #2、创建挂载目录
    mkdir -p /data/elasticsearch/config
    # es存储的数据,挂载到外部 data文件夹
    mkdir -p /data/elasticsearch/data
    
    #3、配置访问权限
    echo "http.host: 0.0.0.0" >> /data/elasticsearch/config/elasticsearch.yml
    
    命令解析:
        echo :linux字符串的输出命令
        "http.host: 0.0.0.0" : 配置"http.host: 0.0.0.0"代表es可以被远程的任何机器进行访问
        >> : 双尖括号代表写入,把配置写入 elasticsearch.yml文件中
    
    # 配置用户权限(读、写、执行)
    chmod -R 777 /data/elasticsearch/
    
    #4、运行容器 / 挂载目录
    docker run --name elasticsearch \
    -p 9200:9200 \
    -p 9300:9300 \
    -e "discovery.type=single-node" \
    -e ES_JAVA_OPTS="-Xms64m -Xmx512m" \
    -v /data/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
    -v /data/elasticsearch/data:/usr/share/elasticsearch/data \
    -v /data/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
    -d elasticsearch:7.4.2
    
    命令解析:
        -p 9200:9200 :暴露端口9200,用于后台发起http请求的端口
        -p 9300:9300 :暴露端口9300,用于es在分布式集群状态下 节点之间通信端口
        -e "discovery.type=single-node" :指定参数,es以单节点模式运行
        -e ES_JAVA_OPTS="-Xms64m -Xmx512m" :设置es的初始内存和最大内存,否则一启动es会默认占用全部内存(非常重要)
        -v 其余配置 : 挂载 容器中的文件与宿主机文件关联,若修改宿主机的配置就等于修改容器中的配置
    
    

    访问地址:http://IP:9200/

    es_login.png
    • 扩展:安装 elasticsearch-head
    1、下载镜像
    docker pull mobz/elasticsearch-head:5
    
    #2、运行容器
    docker run --name elasticsearch-head -p 9100:9100 -d docker.io/mobz/elasticsearch-head:5
    

    访问地址:http://ip:9100/

    head.png

    十、安装Kibana

    安装文档:https://www.elastic.co/guide/en/kibana/current/docker.html

    #1、下载镜像(版本7.4.2)
    docker pull kibana:7.4.2
    
    #2、运行容器
    docker run --name kibana \
    -p 5601:5601 \
    -e ELASTICSEARCH_HOSTS=http://IP(es安装地址):9200 \
    -d kibana:7.4.2
    
    命令解析:
        -e ELASTICSEARCH_HOSTS : 修改参数,指定es连接地址
    

    访问地址:http://IP:5601

    kibana.png

    十一、安装MinIO

    mkdir -p /data/minio/{data,config}
    
    docker run -p 9000:9000 --name minio \
      -e "MINIO_ACCESS_KEY=***" \
      -e "MINIO_SECRET_KEY=***" \
      -v /data/minio/data:/data \
      -v /data/minio/config:/root/.minio \
      -d minio/minio server /data
    

    访问 http://ip:9000/

    十二、安装Mongodb

    # 下载最新版本
    docker pull mongo
    
    # 创建数据持久化目录
    mkdir -p /data/mongo/data
    
    # 运行容器
    docker run -p 27017:27017 --name mongo \
    -e MONGO_INITDB_ROOT_USERNAME=root \
    -e MONGO_INITDB_ROOT_PASSWORD=db@password \
    -v /data/mongo/data:/data/db \
    -d mongo
    
    

    相关文章

      网友评论

          本文标题:docker之(二)安装容器

          本文链接:https://www.haomeiwen.com/subject/qpbpiktx.html