基于docker快速部署一套任意版本MySQL、PostgreSQL环境

3 篇文章 0 订阅
作者介绍:老苏,10余年DBA工作运维经验,擅长Oracle、MySQL、PG数据库运维(如安装迁移,性能优化、故障应急处理等)
公众号:老苏畅谈运维
欢迎关注本人公众号,更多精彩与您分享。

对于有开发测试的需求,需要快速搭建不同的环境。今天给大家介绍快速搭建MySQL、PostgreSQL环境的方法,可供大家测试用。

一、Docker环境安装

本次测试基于Centos7 + docker的环境。

1.docker安装

yum -y install docker

service start docker

2.修改docker的默认镜像仓库

  建议将/etc/docker/daemon.json 改为:{"registry-mirrors": ["https://registry.docker-cn.com"]}

二、快速部署MySQL

2.1 查看MySQL镜像历史版本
–查看MySQL镜像历史版本

curl -L -s 'https://registry.hub.docker.com/v2/repositories/library/mysql/tags?page_size=10000' | tr '},' '\n'|grep -w "name"|sort

2.2 拉取MySQL5.5版本

#拉取mysql5.5

docker pull mysql:5.5

#启动 初始化

docker run --name mysql -d -it -p 3306:3306 -e MYSQL_ROOT_PASSWORD=xxx mysql:5.5

#进入docker下mysql5.5容器

docker exec -it mysql bash

#停止MySQL5.5容器

docker stop mysql

2.3 拉取MySQL8.0版本
#拉取mysql8

docker pull mysql:8.0
# 启动,初始化
docker run --name mysql8 -d -it -p 4306:4306  -v /data/test/my.cnf:/etc/my.cnf -v /data/test/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=rootmysql mysql:8.0

或
docker run --name mysqltest -d -it -p 4307:4307 -v /data/test/my.cnf:/etc/my.cnf -v /data/test/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=mydb57 mysql:5.7.40

#进入docker下mysql8容器

docker exec -it mysql8 bash

# 停止mysql8容器

docker stop mysql8

三、快速部署PostgreSQL

3.1 查看postgres镜像历史版本

curl -L -s 'https://registry.hub.docker.com/v2/repositories/library/postgres/tags?page_size=10000' | tr '},' '\n'|grep -w "name"|sort

3.2 拉取镜像

docker pull postgres:14.4

3.3 创建docker容器

docker run --name pg14 -h  pg14 -d -p 54327:5432 -e POSTGRES_PASSWORD=xxx  -e TZ=Asia/Shanghai postgres:14.4

3.4 登录

docker exec -it pg14 psql -U postgres -d postgres

附录:docker常用操作

- List currently running docker containers:


    docker ps


  - List all docker containers (running and stopped):


    docker ps -a


  - Start a container from an image, with a custom name:


    docker run --name container_name image


  - Start or stop an existing container:


    docker start|stop container_name


  - Pull an image from a docker registry:


    docker pull image


  - Open a shell inside of an already running container:


    docker exec -it container_name sh


  - Remove a stopped container:


    docker rm container_name


  - Fetch and follow the logs of a container:


    docker logs -f container_name

请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老苏畅谈运维

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值