Docker部署mysql,redis,minio
首先需要看是否已经拉取:如果没有拉取:以上拉取命令,如果有版本,则会拉取指定版本,没有指定则默认拉取最新版本,上面截图latest即为最新版本。以上为个人的学习经验总结,经过反复部署及删除镜像,最终部署成功。docker stop '服务名称'//停止服务docker start '服务名称'//启动服务docker restart '服务名称'//重启服务docker rm -f '服务名称'/
前言:
基于docker已经部署的情况下,实现以下操作
首先需要看是否已经拉取:
docker images
如果没有拉取:
docker pull mysql:8.0.32 //mysql
docker pull redis:6 //redis
docker pull minio/minio //minio
以上拉取命令,如果有版本,则会拉取指定版本,没有指定则默认拉取最新版本,上面截图latest即为最新版本 。
一、mysql
安装命令:
docker run --restart=always -p 10110:3306 --name mysql -v /mnt/disk1/mysql/conf:/etc/mysql/conf.d -v /mnt/disk1/mysql/logs:/logs -v /mnt/disk1/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.32
命令详解:
--restart=always: docker开机自启
-p: 端口;10110为自定义的暴露出来的端口,绑定容器内部3306端口
-name:服务名称
-v:挂载 自定义位置:原文件位置;做数据持久化
-e:设定变量,这里是设置密码为123456
-d:后台运行
注:自定义的挂载位置我是事先创建好了文件夹的,但实际挂载应该阔以自动生成。
docker ps//查看是否成功启动
如图,表示成功启动
docker exec -it '服务名称' bash //进入服务
mysql -uroot -p123456 //进入mysql
测试链接
失败解决方案:
以下是几个链接不成功的建议处理方法:
1.检查防火墙端口是否开放
2.授权用户远程访问
进入mysql之后切换到mysql库;
use mysql;
查询是否授权:
select User,authentication_string,Host from user;
这样是已授权的;如果没有授权,则:
GRANT ALL ON . TO ‘root’@’%’;
//刷新权限
flush privileges;
至此,mysql安装完成;
二、redis
安装命令:
docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 10111:6379 --name redis -v /mnt/disk1/redis/conf/redis.conf:/etc/redis/redis.conf -v /mnt/disk1/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
安装命令与mysql没有太大区别,只需要注意端口的区分,在做挂载的时候,需要先准备好一份redis.conf到将挂载的位置。这样当redis启动的时候则会读取挂载位置的文件而非默认文件,通过这个conf文件阔以修改相关配置,然后重启服务就能生效。
注意事项:
redis-server /etc/redis/redis.conf //指定配置文件,但是前文有挂载外部文件,所以此路径要和原始路径相同,但挂载到了外面之后,运行起来之后将会用外面配置的conf文件
.conf文件:
# bind 192.168.1.100 10.0.0.1
# bind 127.0.0.1 ::1
#bind 127.0.0.1
protected-mode no
port 6379
tcp-backlog 511
requirepass 123456
timeout 0
tcp-keepalive 300
daemonize no
supervised no
pidfile /var/run/redis_6379.pid
loglevel notice
logfile ""
databases 30
always-show-logo yes
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir ./
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync no
repl-disable-tcp-nodelay no
replica-priority 100
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
appendonly yes
appendfilename "appendonly.aof"
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble yes
lua-time-limit 5000
slowlog-max-len 128
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
stream-node-max-bytes 4096
stream-node-max-entries 100
activerehashing yes
hz 10
dynamic-hz yes
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes
注意其中的bind是注释了的, 否则只能本机使用。
进行测试:
docker exec -it '服务名称' bash
redis-cli //redis操作台
auth 123456 //鉴权
验证成功
三、minio
安装命令:
docker run -p 10112:9000 -p 10113:9001 --net=host --name minio -d --restart=always -e "MINIO_ACCESS_KEY=admin" -e "MINIO_SECRET_KEY=123456" -v /mnt/disk1/minio/data:/data -v /mnt/disk1/minio/config:/root/.minio minio/minio server /data --console-address ":10113" -address ":10112"
命令详解:
-p:10112:9000 //代码内使用端口
-p 10113:9001 //控制台访问端口
-e "MINIO_ACCESS_KEY=admin" //用户名
-e "MINIO_SECRET_KEY=123456" //密码
验证连接:
成功。
总结:
以上为个人的学习经验总结,经过反复部署及删除镜像,最终部署成功。
docker stop '服务名称' //停止服务
docker start '服务名称' //启动服务
docker restart '服务名称' //重启服务
docker rm -f '服务名称' //删除服务
注意事项:
部署失败卸载重来的话,要删除对应挂载地址内的文件。
更多推荐
所有评论(0)