1.安装mysql
1.1 下载镜像
docker pull mysql
1.2 安装
创建mysql文件夹,进入到mysql文件夹线下,执行安装命令。注意 $PWD
cd /opt
mkdir myysql
cd mysql
sudo docker run \
--name mysqlserver \
-d \
-p 3306:3306 \
--restart unless-stopped \
-v $PWD/log:/var/log/mysql \
-v $PWD/data:/var/lib/mysql \
-v $PWD/conf:/etc/mysql \
-v $PWD/mysql-files:/var/lib/mysql-files \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:latest
1.3 参数说明
参数说明:
| 命令 | 描述 |
| docker run | 创建一个新的容器,同时运行这个容器 |
| -name mysqlserver | 启动容器的名字 |
| -d | 后台运行 |
| -p 3306:3306 | 将容器的 3306(后面那个)端口映射到主机的 3306(前面那个)端口 |
| restart unless-stopped | 容器重启策略 |
| -v $pwd/log:/var/log/mysql | 将日志文件夹挂载到主机 |
| -v $pwd/data:/var/lib/mysql | 将mysql储存文件夹挂载到主机 |
| -v $PWD/conf:/etc/mysql | 将配置文件夹挂载到主机 |
| -v $PWD/mysql-files:/var/lib/mysql-files | |
| -e MYSQL_ROOT_PASSWORD=123456 | 设置 root 用户的密码 |
| \ | shell 命令换行符 |
1.4 进入到数据库
# 进入docker mysql容器
docker exec -it mysqlserver bash
# 提示输入密码
mysql -uroot -p123456
# 链接mysql
use mysql;
# 修改密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
# 开启远程访问
flush privileges;
2.安装redis
2.1 下载镜像
docker pull redis
2.2 安装
创建redis文件夹,进入到redis文件夹线下,执行安装命令。
# 下载redis配置文件
wget http://download.redis.io/redis-stable/redis.conf
docker run --restart=always \
--log-opt max-size=100m \
--log-opt max-file=2 \
-p 6379:6379 \
--name redis \
-v /opt/redis/redis.conf:/etc/redis/redis.conf \
-v /opt/redis/data:/data \
-d redis redis-server /etc/redis/redis.conf \
--appendonly yes \
--requirepass 123456
命令详解
| docker run | 这是 Docker 用来创建并运行一个新的容器的命令 |
| --restart=always | 如果容器退出,这个选项会使得它自动重启 |
| --log-opt max-size=100m | 这是对容器日志的设置,最大大小为 100MB |
| --log-opt max-file=2 | 这是对容器日志文件的设置,最多可以有2个日志文件 |
| -p 6379:6379 | 这是端口映射的设置,将宿主机的6379端口映射到容器的6379端口 |
| --name redis | 这是给新创建的容器命名的选项,名字是 "redis" |
| -v /opt/myredis/redis.conf:/etc/redis/redis.conf | 这是对容器内的文件系统的挂载设置,将宿主机上的 /opt/myredis/redis.conf 文件挂载到容器内的 /etc/redis/redis.conf 位置 |
| -v /opt/myredis/data:/data | 这是另一个文件系统的挂载选项,将宿主机上的 /opt/myredis/data 目录挂载到容器内的 /data目录 |
| -d | 这是 Docker 的分离模式,新创建的进程将会在后台运行 |
| redis redis-server /etc/redis/redis.conf --appendonly yes --requirepass 123456 | 这是容器内要运行的命令,启动 Redis 服务,使用 /etc/redis/redis.conf 配置文件,设置追加写入(appendonly)为 yes,设置密码为 "123456" |
修改配置文件
# 修改 /opt/redis/conf/redis.conf
protected-mode no
bind 0.0.0.0
| 命令 | 功能 |
|---|---|
| protected-mode no | 关闭protected-mode模式,此时外部网络可以直接访问 (docker貌似自动开启了) |
| bind 0.0.0.0 | 设置所有IP都可以访问 (docker貌似自动开启了) |
重启redi镜像
docker restart redis
124

被折叠的 条评论
为什么被折叠?



