20221205 常用Docker部署

MySQL

MySQL - Docker Hub

  1. 准备 my.cnf 配置文件

    [mysqld]
    character_set_server=utf8
    
    [client]
    default-character-set=utf8
    
  2. 上传 my.cnf 到宿主机 /data/docker/mysql/conf

  3. 修改 my.cnf 文件权限

    chmod 644 /data/docker/mysql/conf/my.cnf
    
  4. 运行 docker run 命令部署容器

    docker run -itd --name mysql-dev --restart always --privileged=true -p 3306:3306 \
    -e MYSQL_ROOT_PASSWORD=Abc_13579 \
    -v /data/docker/mysql/data:/var/lib/mysql \
    -v /data/docker/mysql/conf:/etc/mysql/conf.d \
    mysql:8.0 --character-set-server=utf8 --collation-server=utf8_general_ci
    
  5. 验证

    1. 进入容器,查询编码

      # 进入容器
      docker exec -it mysql-dev bash
      # 登录MySQL
      mysql -uroot -p
      # 查询编码,如果是utf8,证明配置成功应用
      show variables like 'character_%';
      

实现效果

  1. 配置文件和数据文件挂载在宿主机目录 /data/docker/mysql

  2. MySQL 编码格式修改为 utf8

Redis

Redis - Docker Hub

Redis 官网配置文件:Redis configuration | Redis

  1. 准备 redis.conf ,修改默认文件内容

    #bind 127.0.0.1 -::1        # 注释掉这行
    protected-mode no            # yes 改为 no
    requirepass Abc_13579        # 设置密码
    appendonly yes                # 启用aof
    dir /data    # 设置aof文件路径
    
  2. 将配置文件 redis.conf 复制到 /data/docker/redis/conf/redis.conf

  3. 准备数据目录 /data/docker/redis/data

    mkdir -p /data/docker/redis/data
    chmod 777 /data/docker/redis/data
    
  4. 运行 docker run 命令部署容器

    docker run -itd --name redis-dev --restart=always --privileged=true -p 6379:6379  \
    -v /data/docker/redis/data:/usr/local/redis/data/ \
    -v /data/docker/redis/conf/redis.conf:/usr/local/redis/conf/redis.conf \
    redis:6.2-alpine redis-server /usr/local/redis/conf/redis.conf
    

实现效果

  1. 配置文件和备份文件挂载在宿主机 /data/docker/redis

  2. 启用 aof 备份方式

  3. 备份文件 dump.rdb 和 appendonly.aof 都会在宿主机目录 /data/docker/redis/data

ZooKeeper

docker run -d --name zookeeper -p 2181:2181 -v /usr/local/zookeeper/data:/data -v /usr/local/zookeeper/log:/datalog zookeeper

Kafka

docker run -d --name kafka --publish 9092:9092 \
--link zookeeper \
--env KAFKA_ZOOKEEPER_CONNECT=1.1.1.1:2181 \
--env KAFKA_ADVERTISED_HOST_NAME=1.1.1.1 \
--env KAFKA_ADVERTISED_PORT=9092  \
--env KAFKA_LOG_DIRS=/kafka/kafka-logs-1 \
-v /usr/local/kafka/logs:/kafka/kafka-logs-1  \
wurstmeister/kafka
posted @ 2022-12-05 19:50  流星<。)#)))≦  阅读(38)  评论(0编辑  收藏  举报