目标:在docker中拉centos,并在里面部署MySQL和Redis,把新容器保存为文件。
1.#似乎与真实环境比较接近
docker run -it --privileged --name centos7 centos:7 /usr/sbin/init
安装mysql
1.安装wget
yum install wget
2.使用:rpm -ivh mysql57-community-release-el7-9.noarch.rpm 安装源
3.安装
yum install mysql-server
4.启动 mysqld --user root,此时可能立刻停止后退出。
报错解决:
查看配置文件 /etc/my.conf,发现其中有一句 datadir=/var/lib/mysql
删除/var/lib/mysql 目录
mysqld --initialize --user=mysql --datadir=/var/lib/mysql 初始化mysql
5.cat /var/log/mysqld.log | grep password 查看临时密码
6.mysql -uroot -p 登录
7.SET PASSWORD FOR root@localhost = password('<PASSWORD>'); 修改密码
(如果提示密码不合要求,用 SET global validate_password_policy=LOW; 降低密码要求。)
安装redis
1.获取redis的安装包
wget http://download.redis.io/releases/redis-4.0.6.tar.gz
2.解压
tar -xzf redis-4.0.6.tar.gz
3.建立软连接
ln -s redis-4.0.6 redis
4.cd redis 进入目录,进行编译安装make && make install (可能会报错gcc: Command not found)
报错解决:
yum -y install gcc automake autoconf libtool make
重新make,又报错jemalloc/jemalloc.h: No such file or directory
解决:清理上次编译残留文件,重新编译
make distclean && make
5.cd src目录下可以看到redis的可执行文件
redis-server 启动Redis服务器
redis-cli Redis命令行客户端
安装完成。
docker commit <容器id> < 标签>