postgresql
1.docker pull postgres
拉取镜像
2.docker volume create postgresql
创建本地的映射目录,名字设置为postgresql 可以自行设置名字
3.docker run --name postgres -v postgresql:/var/lib/postgresql/data -e POSTGRES_USER=xxxxxx -e POSTGRES_PASSWORD=xxxxxx -e TZ=PRC -p 5432:5432 -d postgres -c 'max_connections=1000'
--name 是docker容器的名字 -v 后面的postgresql 是第二步设置的名字 TZ 是timezone
redis
1.docker pull redis
拉取镜像
2.docker volume create redis
创建本地的映射目录,名字设置为redis 可以自行设置名字
试了很多遍用自定义conf文件启动容器,但是都失败了,无奈只能用-e设置参数的方式启动
3.docker run -p 6379:6379 --name redis -v redis:/data -d redis redis-server --bind 0.0.0.0 --requirepass xxxxxx --appendonly yes --maxclients 10000
--bind 如果要外网访问就设置0.0.0.0 -requirepass 是设置密码 --appendonly 是设置持久化,具体参数去看官网参数配置介绍
mongo
1.docker pull mongo
拉取镜像
2.docker volume create mongodb
创建本地的映射目录,名字设置为mongodb 可以自行设置名字
3.docker run --name mongo --restart=always -p 27017:27017 -v mongodb:/data/db -e MONGO_INITDB_ROOT_USERNAME=xxxx -e MONGO_INITDB_ROOT_PASSWORD=xxxx -e MONGO_INITDB_DATABASE=xxxx -d mongo --auth
mongo有点坑,需要进去再设置用户名和密码,启动时候的参数加了没用,知道怎么回事的希望指教一下
进入容器里面的配置方法
先进入容器
docker exec -it mongo /bin/bash
我创建容器的时候命名为mongo 这里直接用
mongo
use admin
db.createUser({user:"xxx",pwd:"xxxx",roles:["root"]})
db.auth("xxx","xxxx") 返回1 就是配好了