这里是对在centos7安装mysql docker镜像过程的一个记录:
1.执行docker search mysql 搜索可用的mysql镜像,出现了如下问题
docker search mysql
原因是selinux 限制了docker通过https访问远程镜像库,做如下操作即可:
vim /etc/sysconfig/docker 在该文件添加一个配置other_args="--exec-driver=lxc --selinux-enabled"
再执行docker search mysql
2、执行docker pull mysql:version 从中选取要需求mysql镜像
docker pull mysql:5.7
3、执行docker images 查看是否下载成功
docker images
4、执行命令启动mysql,容器
创建mysql 数据存放目录 docker_home/mysql/mysql_data
创建mysql 日志存放目录 docker_home/mysql/cfg
chmod 777 /home/docker_home/*/*
docker run --name [mysql实例的名字] -v [数据映射的宿主目录]:/var/lib/mysql -v [etc/mysql映射的宿主目录]:/etc/mysql/conf.d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=[root账号密码] -d docker.io/mysql //可以指定版本安装,如“docker.io/mysql:5.5”
docker run --name docker_mysql --privileged=true -v /home/docker_home/mysql/mysql_data:/var/lib/mysql -v/home/docker_home/mysql/cfg:/etc/mysql/conf.d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=密码 -d docker.io/mysql:5.7
5、进入mysql容器的bash,进行设置
docker exec -it docker_mysql bash
mysql -uroot -p 密码 登录mysql 设置权限。
如果提示 151014 11:39:24 mysqld_safe Starting mysqld daemon with databases from /data/mysql/data
Warning: World-writable config file '/home/docker_home/mysql/cfg is ignored
/etc/my.cnf 权限过大,会影响实例不能启动,或者不能关闭,需要修改为 644.操作如下 chmod 644 /etc/my.c
chmod 644 /etc/my.c
6、保存修改的容器
docker commit 7d45ab1186f8 docker_mysql
mkdir docker_template
chmod 777 /home/docker_home/docker_template/
打包修改好的镜像,
docker save docker_mysql -o /home/docker_home/docker_template/docker_mysql.tar
将打包好的镜像上传至目标服务器,并执行,docker load -i docker_mysql.tar
docker load -i docker_mysql.tar
运行刚才加载的镜像
docker run -p 3306:3306 -d docker_mysql
至此,mysql镜像就安装完毕了。