1.拉取镜像:
https://hub.docker.com/search?q=&type=image
找到对应得镜像,拉取到本地,如果是离线,自己上传上去
2. 查看镜像 docker images:
3. 启动一个mariadb 实例
mkdir -p /data/mariadb/data 建一个目录作为和容器的映射目录
启动MariaDB实例很简单:
docker run --name mariadb -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /data/mariadb/data:/var/lib/mysql -d mariadb
... wheresome-mariadb
是要分配给容器的名称,123456
是要为MySQL根用户设置的密码,请参阅上面的列表以获取相关标签。
4. 进入容器
docker exec -it XXX /bin/bash XXX 为 container id
mysql -uroot -p123456 登录到命令行
5. 设置权限,这里参考windows上MySQL的处理 https://www.cnblogs.com/leolzi/p/11497925.html
GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.10.0.123' IDENTIFIED BY '123456' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;
6.配置文件修改
-
从容器中拷贝一份mariadb配置文件(或者是直接创建文件)
sudo docker cp mariadb:/etc/mysql/conf.d/docker.cnf /data/mariadb/my.cnf
-
修改my.cnf,在 [mysqld] 节点下添加
[mysqld]
skip-host-cache
skip-name-resolve
server-id=1log_bin=logs-bin
expire-logs-days = 14
max-binlog-size = 50000M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
thread_cache_size=200
max_connections=2000
wait_timeout = 300
interactive_timeout = 500
# use cache
query_cache_size=2048M
query_cache_type=1
-
复制master_my.cnf并覆盖master中的my.cnf
docker cp /data/mariadb/my.cnf mariadb:/etc/mysql/conf.d/docker.cnf
-
重启master容器
docker restart mariadb
-
09 Redis 镜像安装
9.1 下载配置文件
从官网获取 redis.conf 配置文件,安装要求修改 放到对应的位置 ,并创建目录:mkdir -p /data/redis/data
/data/redis/redis.conf
修改文件
配置远程访问:
protected-mode yes
注释掉
#bind 127.0.0.1
9.2 docker 启动 redis 命令
docker run -p 6379:6379 --name redis -v /data/redis/redis.conf:/etc/redis/redis.conf -v /data/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
命令解释说明:
- -p 6379:6379 端口映射:前表示主机部分,:后表示容器部分。
- --name myredis 指定该容器名称,查看和进行操作都比较方便。
- -v 挂载目录,规则与端口映射相同。
- -d redis 表示后台启动redis
- redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录/usr/local/docker/redis.conf
- appendonly yes 开启redis 持久化
9.3 使用 docker exec -it redis /bin/bash进入redis
9.3