MYSQL运行

1、运行MySQL容器 

docker run -d -p 3306:3306 --privileged=true -v /docker/mysql/conf/my.cnf:/etc/my.cnf -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci

参数说明:

  • run run 是运行一个容器
  • -d  表示后台运行
  • -p  表示容器内部端口和服务器端口映射关联
  • --privileged=true 设值MySQL 的root用户权限, 否则外部不能使用root用户登陆
  • -v /docker/mysql/conf/my.cnf:/etc/my.cnf 将服务器中的my.cnf配置映射到docker中的/docker/mysql/conf/my.cnf配置
  • -v /docker/mysql/data:/var/lib/mysql  同上,映射数据库的数据目录, 避免以后docker删除重新运行MySQL容器时数据丢失
  • -e MYSQL_ROOT_PASSWORD=123456   设置MySQL数据库root用户的密码
  • --name mysql     设值容器名称为mysql
  • mysql:5.7  表示从docker镜像mysql:5.7中启动一个容器
  • --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci 设值数据库默认编码

2、进入容器创建用户

#进入容器
docker exec -it mysql bash
#连接mysql
mysql -uroot -p
#创建用户(用户 test 密码 1234)
GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' IDENTIFIED BY '1234' WITH GRANT OPTION;

MONGO运行

1、运行mongo容器

  • docker run -itd --name mongo -p 27017:27017 mongo(不需要密码)
  • docker run -itd --name mongo -p 27017:27017 mongo --auth(需要密码)
#进入容器并连接mongo
docker exec -it mongo mongo admin

# 创建一个名为 admin,密码为 123456 的用户。
> db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
# 尝试使用上面创建的用户信息进行连接。
> db.auth('admin', '123456')

 REDIS运行

 1、运行redis容器(LZ这用的是3.0.1版本)

docker run -itd --name redis -p 16379:6379 redis:3.0.1