centos上用docker部署环境.md

  • 下载docker
  • 参考链接
  • 相关命令
systemctl start docker 或者 service docker start //启动dokcer
systemctl stop docker 或者 service docker stop //关闭docker
docker images //看镜像
docker ps -a //看启动的容器
docker rmi dsad324(镜像id) //删除镜像
docker logs name(容器名称) //查看容器logs
docker rm -f dasf(容器Id)
docker cp (本地文件路径)test.js dadasdaId(容器Id):/var/java(docker容器文件路径)
  • mysql
  • 安装
docker pull mysql
docker run -d -p 3306:3306 -e MYSQL_USER="qinq" -e MYSQL_PASSWORD="qq521314" -e MYSQL_ROOT_PASSWORD="qq521314" --name test mysql --character-set-server=utf8 --collation-server=utf8_general_ci

参数说明:
-e MYSQL_USER="qinq"  :添加qinq用户
-e MYSQL_PASSWORD="123456":设置添加的用户密码
-e MYSQL_ROOT_PASSWORD="123456":设置root用户密码
--character-set-server=utf8:设置字符集为utf8
--collation-server=utf8_general_cli:设置字符比较规则为utf8_general_cli
  • 登录
docker ps -a //列出容器状态
docker exec -it test(mysql镜像名字)/bin/bash //进入容器
mysql -u root -p //输入自己设置的root密码

quit; //退出mysql命令
control+ D 退出docker进入的容器
  • 利用ibd备份恢复rds的数据
1.drop table tablename //删除表
 2.重新建表,在建表语句 末尾加上 ROW_FORMAT=compact;
 3.分离表空间 ALTER TABLE table_name DISCARD TABLESPACE;
 4.复制,覆盖对应的.ibd文件
 5.chown -R mysql.mysql videos.ibd 修改权限
 5.导入表空间ALTER TABLE table_name IMPORT TABLESPACE;
  • mongodb
  • 安装
docker search mongodb //仓库中查找mongodb
docker pull mongo //仓库中官方镜像为mongo
  • 登录
mkdir /data/db //创建本地文件夹,存放mongodb
docker run --name mongodb-server0 -v /data/mongodb0:/data/db -p 27017:27017 -d 镜像ID --auth //启动
docker exec -it some-mongo(镜像名字) mongo admin //进入mongodb控制台
db.createUser({ user: 'bookRoot', pwd: 'bookrootAdmin', roles: [ { role: "root", db: "admin" } ] }); //添加用户

启动参数说明:
-v后面的参数表示把数据文件挂载到宿主机的路径
-p把mongo端口映射到宿主机的指定端口
--auth表示连接mongodb需要授权

mongodb添加用户权限说明:
内建角色:
1、数据库用户角色:read、readWrite;
2、数据库管理角色:dbAdmin、dbOwner、userAdmin;
3、集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4、备份恢复角色:backup、restore;
5、所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6、超级用户角色:root // 这里还有几个角色间接或直接提供了系统超级用户的访问
(dbOwner 、userAdmin、userAdminAnyDatabase)
7、内部角色:__system

角色说明:
Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限
  • rabbitmq
docker search rabbitmq 
 docker pull rabbitmq:management
 docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:management