docker安装myql、redis、postgres

冷猫 5月前 ⋅ 162 阅读

最近经常换环境去部署项目的测试服务,有些命令记不住,还的百度去一篇文章一篇文章去搜索,在这里整理出来一边后面再此查看使用!

1、docker安装redis

1、查找最新镜像

docker search redis  

2、获取redis镜像

docker  pull  redis

3、查看redis镜像

docker  images

4、启动镜像容器

docker  run  --name  redis  -p  6379:6379  -v  /usr/local/redis/data:/data  -d redis  redis-server  --appendonly yes
--name 运行容器的名称
-p 6379:6379 将容器的6379端口映射到主机的6379端口
-v /usr/local/redis/date:/data 将主机的/usr/local/redis/data 目录挂载到容器的/data目录(需要创建/usr/local/redis/data目录)
-d redis 后台运行redis镜像(redis为镜像的名称)
redis-server --appendonly yes 在容器执行redis-server启动命令,并打开redis持久化配置

5、查看启动容器

docker ps -a

2、docker安装mysql

1、获取mysql镜像(目前版本5.7)

docker pull mysql:5.7

2、通过镜像创建容器并运行

docker run -p 3306:3306 --name mysql -v /usr/local/mysql/conf:/etc/mysql/conf.d -v /usr/local/mysql/logs:/logs -v /usr/local/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
//参数解释
-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。
-v /usr/local/mysql/conf:/etc/mysql/conf.d:将主机/usr/local/mysql/conf目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。
-v /usr/local/mysql/logs:/logs:将主机/usr/local/mysql目录下的 logs 目录挂载到容器的 /logs。
-v /usr/local/mysql/data:/var/lib/mysql :将主机/usr/local/mysql目录下的data目录挂载到容器的 /var/lib/mysql 。
-e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。

3、设置navicat远程连接

1、进入容器:

docker exec -it mysql /bin/bash

2、进入mysql:

mysql -uroot -p

3、授权:

mysql> GRANT ALL ON *.* TO 'root'@'%';

4、刷新权限:

mysql> flush privileges;

5、更新加密规则:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

6、更新root用户密码:

mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

7、刷新权限:

mysql> flush privileges;

3、docker安装postgres

1、获取postgres镜像

docker pull postgres

2、使用镜像启动容器

docker run --name postgres -e POSTGRES_PASSWORD=123456 -p 5432:5432 -d postgres
//解释:
run 创建并运行一个容器;
--name 指定创建的容器的名字;
-e POSTGRES_PASSWORD=password,设置环境变量,指定数据库的登录口令为password;
-p 54321:5432,端口映射将容器的5432端口映射到外部机器的54321端口; 
-d postgres,指定使用postgres作为镜像,后台运行。

注意:postgres镜像默认的用户名为postgres


全部评论: 0

    我有话说: