zoukankan      html  css  js  c++  java
  • Docker安装常见应用记录

    Mysql

    1.容器创建

    docker run -d -p 3306:3306 --restart=always --privileged=true --env=MYSQL_ROOT_PASSWORD=admin --name=mysql -v E:/ForDocker/volume/mysql/conf:/etc/mysql/conf.d -v E:/ForDocker/volume/mysql/data:/var/lib/mysql -v E:/ForDocker/volume/mysql/log:/var/log/mysql mysql:5.7 --character-set-server=utf8 --collation-server=utf8_general_ci --default-authentication-plugin=mysql_native_password
    

    2.参数解释

    --后台运行,会返回容器ID
    --宿主机对外暴露端口:容器内部端口
    --设置开机启动
    --提升至进入容器拥有root权限
    --root用户密码
    --应用别名
    --挂载配置目录
    --挂载数据目录
    --挂载日志目录
    镜像名称:镜像标签
    --设置字符集为utf8
    --设置字符比较规则为utf8_general_ci
    --设置加密规则为mysql_native_password
    

    3.乱码问题

    3.1 修改镜像源
    mv /etc/apt/sources.list /etc/apt/sources.list.bak 
    
    3.2 按照echo "xxx" >>/etc/apt/sources.list格式依次把xxx替换为下面语句执行:
    deb http://mirrors.163.com/debian/ buster main non-free contrib
    deb http://mirrors.163.com/debian/ buster-updates main non-free contrib
    deb http://mirrors.163.com/debian/ buster-backports main non-free contrib
    deb-src http://mirrors.163.com/debian/ buster main non-free contrib
    deb-src http://mirrors.163.com/debian/ buster-updates main non-free contrib
    deb-src http://mirrors.163.com/debian/ buster-backports main non-free contrib
    deb http://mirrors.163.com/debian-security/ buster/updates main non-free contrib
    deb-src http://mirrors.163.com/debian-security/ buster/updates main non-free contrib
    
    3.3 更新安装源 apt-get update

    image-20200824170711400

    image-20200824170816468

    3.4 安装vim,然后编辑mysql配置文件
    3.5 也可以不安装vim把容器配置文件复制出来,改好再复制回去,然后重启容器
    vim /etc/mysql/mysql.conf.d/mysqld.cnf
    

    image-20200824171039477

    [client]
    default-character-set=utf8
    
    [mysql]
    default-character-set=utf8
    
    3.6 推荐Dockefile快速构建
    FROM mysql:5.7
    MAINTAINER wuhui
    #字符集
    RUN echo "character-set-server=utf8" >> /etc/mysql/mysql.conf.d/mysqld.cnf 
    && echo "collation-server=utf8_general_ci" >> /etc/mysql/mysql.conf.d/mysqld.cnf 
    #时区
    && echo "default-time-zone"='+8:00' 
    && echo "[client]" >> /etc/mysql/mysql.conf.d/mysqld.cnf 
    && echo "default-character-set=utf8" >> /etc/mysql/mysql.conf.d/mysqld.cnf 
    && echo "[mysql]" >> /etc/mysql/mysql.conf.d/mysqld.cnf 
    && echo "default-character-set=utf8" >> /etc/mysql/mysql.conf.d/mysqld.cnf 
    && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 
    #时区
    && echo 'Asia/Shanghai' >/etc/timezone 
    #解决5.7.5及以上默认启用了ONLY_FULL_GROUP_BY模式,造成group by的问题
    #1055 - Expression of SELECT list is not in GROUP BY clause and contains nonaggregated column this i
    && echo "[mysqld]" >> /etc/mysql/mysql.conf.d/mysqld.cnf 
    && echo "sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" >> /etc/mysql/mysql.conf.d/mysqld.cnf 
     
    ENTRYPOINT ["/bin/bash"]
    

    Redis

    1. 下载配置文件,稍作修改
    http://download.redis.io/redis-stable/redis.conf
    
    bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问
    
    protected-mode no #默认yes,开启保护模式,限制为本地访问
    
    databases 16 #数据库个数(可选),我修改了这个只是查看是否生效。。
    
    dir  ./ #输入本地redis数据库存放文件夹(可选)
    
    appendonly yes #redis持久化(可选)
    
    2.生成容器
    docker run --privileged=true -p 6379:6379 -v E:/ForDocker/volume/redis/data:/data -v E:/ForDocker/volume/redis/redis.conf:/etc/redis/redis.conf  --name redis --restart=always -d redis redis-server /etc/redis/redis.conf --appendonly yes
    
    3.进入redis
    docker exec -ti redis redis-cli -h localhost -p 6379 或者 rdm客户端直接连
    

    RabitMQ

    1.建立好宿主机文件待挂载目录
    2.创建容器
    docker run -d -p 15672:15672 -p 5672:5672 --name rabbitmq --privileged=true  -v D:ForDockervolume
    abbitmqconf:/etc/rabbitmq -v D:ForDockervolume
    abbitmqdata:/var/lib/rabbitmq/mnesia -v D:ForDockervolume
    abbitmqlog:/var/log/rabbitmq rabbitmq
    
    3.进入容器开启管理功能

    image-20200824172315329

  • 相关阅读:
    查找之折半查找
    排序之快速排序
    排序之插入排序
    配置nginx支持path_info模式
    安装hadoop2.7.3
    Intellij Idea配置MapReduce编程环境
    jenkins+webhook+docker做持续集成
    nginx反向代理
    docker commit使用
    jenkins容器权限被拒绝
  • 原文地址:https://www.cnblogs.com/NoRegrets/p/13556226.html
Copyright © 2011-2022 走看看