docker 安装mysql
查找Docker Hub上的mysql镜像 并 下载
docker search mysql
docker pull mysql:5.6
docker images |grep mysql ## 查看本地镜像
使用mysql镜像
- 运行容器
docker run -p 13306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
命令说明:
-
-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。
-
-v -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。
-
-v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。
-
-v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。
-
-e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码
- 问题排查【运行容器报错,一般的解决办法】:
- 重启docker服务后再启动容器
systemctl restart docker - 删除所有容器
docker rmdocker ps -a -q
- 进入容器
docker exec -it mymysql9 bash
docker exec -it 88347f7e06b3 bash - 授权
使用root登录mysql : mysql -u root -p,然后输入密码,进入mysql。
设置密码:SET PASSWORD FOR ‘root’@‘localhost’ = PASSWORD(‘123456’);
GRANT ALL PRIVILEGES ON . TO ‘root’@‘localhost’ WITH GRANT OPTION;
进去之后跟安装 mysql 差不多
docker 安装 redis
- 下载镜像
docker search redis
docker pull redis:3.2
docker images redis
- 运行容器
docker run -p 16379:6379 -v $PWD/data:/data -d redis:3.2 redis-server --appendonly yes
docker run -p 6679:6379 -v $PWD/data:/data -d redis:3.2 redis-server --appendonly yes --requirepass "Indo@#1a0e633eb43693102ec"
命令说明:
-p 6379:6379 : 将容器的6379端口映射到主机的16379端口
-v $PWD/data:/data : 将主机中当前目录下的data挂载到容器的/data
redis-server --appendonly yes : 在容器执行redis-server启动命令,并打开redis持久化配置
- 查看容器启动情况
docker exec -it 43f7a65ec7f8 redis-cli
info
docker 安装mongo
- 下载镜像
docker search mongo
docker pull mongo
docker images mongo
- 运行容器
docker run -p 28017:27017 -v $PWD/db:/data/db -d mongo:3.2
- 查看容器启动情况
docker exec -i -t 20e684a12e2a /bin/bash
mongo
use test
db.createUser({user:'user1',pwd:'user1',roles:[{role:'readWrite',db:'test'}]}) ##添加管理员用户
db.auth("user1", "user1") ## 认证