dockerfile安装 redis 以及 mysql记录

通过 dockerfile 安装 redis 以及 mysql 记录

背景

  1. windowns docker toolbox
  2. 作为记录方便后续在 kubernetes 中安装

安装 mysql

  1. 检查 mysql 镜像版本 以及 dockerfile 中 支持的 env 参数
    https://hub.docker.com/_/mysql
    https://dev.mysql.com/doc/refman/8.0/en/environment-variables.html
    https://github.com/mysql/mysql-docker/blob/mysql-server/8.0/Dockerfile
  2. dockerfile 的写法
    http://13blog.site/article/42
FROM mysql:8.0
#设置 pwd 8.0special
ENV MYSQL_PWD 123456
EXPOSE 8080
#设置容器启动时执行的命令
CMD service mysql start
  1. 运行 docker build 与 docker run 容器启动后立即关闭 , 开始排错
  • 其中 CMD 中将 service mysqld start 写成了 mysql 导致 container 启动后之间关闭其中 CMD 中将 service mysqld start 写成了 mysql 导致 container 启动后之间关闭
  1. 依然立即关闭 , 再次排错
  • 发现 CMD service mysqld start 这样的写法有问题 , 但是 <<spring Cloud 与 docker 微服务架构实战>> 里说 这个会在shell里运行 , 为什么会出错呢?暂时改成 CMD [“mysqld”] .
  1. 重新 build and run

  2. 连接数据库
    使用 navicat premium 设定 ip 为 虚拟机 ip , 发现连接不上 , 因为没有暴露端口 , 改正
    docker run -d -p 3306:3306 -p 33060:33060 mysqlimage:tag

  3. 成功

安装 redis

  1. docker pull redis:5.0

  2. 其官方 dockerhub 上的 dockerfile 样例
    FROM redis:5.0
    COPY redis.conf /usr/local/etc/redis/redis.conf
    CMD [ “redis-server”, “/usr/local/etc/redis/redis.conf” ]

  3. 定义自己的 conf

#https://raw.githubusercontent.com/antirez/redis/5.0/redis.conf
#后台
daemonize yes
# Specify the server verbosity level.
loglevel notice
# 等下外接 本地文件夹 docker run -v
logfile "/log/redis.log"
  1. build

  2. 挂载一个 log 到 windows 的默认共享文件夹
    docker run -d -p 6379:6379 -v /c/Users/dockerfileInwin/redis/log:/log wbf/redis:2.0docker run -d -p 6379:6379 -v /c/Users/dockerfileInwin/redis/log:/log wbf/redis:2.0

  3. 启动后还是自动关闭了 , 开始排错 , 发现 daemonize 是以后台形式进行服务 , 当时没反应过来, 改正成 no 后 即可.

  4. 测试工具 medis
    https://github.com/x2jia/medis/releases/tag/win

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值