Centos7下安装docker以及基于docker的数据库

平常开发或测试过程中,总要搭建自己的开发或者测试环境。比较常用的数据库mysql/mongo/redis等总是需要安装部署的,而通过docker来部署这些服务,将会大大的减少工作量。

安装docker

1
2
3
4
sudo -i
yum install -y docker
service docker start
chkconfig docker on

使用docker安装mysql 5.6

1
2
docker pull mysql:5.6  # 如果不带版本号,直接使用`docker pull mysql`会拉取最新版本
docker run --name vm.mysql --restart=always -p 3306:3306 -e MYSQL_ROOT_PASSWORD=Test123456 -d mysql:5.6

参数说明:

  • –name 指定容器名称
  • -p 3306:3306 指定mysql使用3306端口,并映射到宿主机器3306端口
  • -e MYSQL_ROOT_PASSWORD=Test123456 初始化root用户密码
  • -d 以守护进程方式运行
  • mysql:5.6 需要运行的镜像
  • –restart=always 指定docker启动时自动运行服务,如果run的时候没有加这个参数,也可以使用docker update --restart=always vm.mysql来更新

使用docker安装/配置mongodb

1
2
3
4
5
6
7
8
9
docker pull mongo
docker run --name=vm.mongod --privileged=true -v $PWD/data:/data/db -v $PWD/etc:/etc/mongo -p 27017:27017 -d mongo --config /etc/mongo/mongod.conf

# 打开vm.mongod的shell操作
docker exec -it vm.mongod bash

mongo
use admin
db.createUser({user: "userAdmin", pwd: "Test123456", roles: [{role: "root", db: "admin"}]})

参数说明:

  • -v $PWD/data:/data/db 将当前目录下data目录挂载到docker /data/db目录下作为数据库存储路径
  • -v $PWD/etc:/etc/mongo 将当前目录下etc目录挂载到docker的/etc/mongo下
  • –config /etc/mongo/mongodb.conf 指定使用/etc/mongo/mongodb.conf文件作为配置文件启动服务

使用docker安装redis

1
2
docker pull redis
docker run --name vm.redis -p 6379:6379 -v $PWD/data:/data -v $PWD/etc:/etc/redis -d redis redis-server /etc/redis/redis.conf