Docker 快速部署本地开发环境常用数据库

举报
kaliarch 发表于 2021/11/14 17:30:06 2021/11/14
【摘要】 前言对于后端开发人员,经常需要使用数据库,在本地安装数据库麻烦且易出错,利用docker能非常快速的拉启所需数据库环境,不用的时候可以删掉,如果需要本地存储数据可以使用单独数据目录挂在到容器内,本文简单列举几类常用数据库。 一 MySQL# 拉取镜像docker pull mysql:8.0.19# 启动serverdocker run --name mysql01 -p 13306:33...

前言

对于后端开发人员,经常需要使用数据库,在本地安装数据库麻烦且易出错,利用docker能非常快速的拉启所需数据库环境,不用的时候可以删掉,如果需要本地存储数据可以使用单独数据目录挂在到容器内,本文简单列举几类常用数据库。

一 MySQL

# 拉取镜像
docker pull mysql:8.0.19

# 启动server
docker run --name mysql01 -p 13306:3306 -e MYSQL_ROOT_PASSWORD=mysqladmin -d mysql:8.0.19

# 启动客户端,输入密码:mysqladmin 
docker run -it --network host --rm mysql mysql -h127.0.0.1 -P13306 --default-character-set=utf8mb4 -uroot -p

二 Redis

# 拉取redis
docker pull redis
# 启动redis
docker run -itd --name redis01 -p 6379:6379 --requirepass "redisadmin" redis

# 使用客户端链接redis
docker exec -it redis01 /bin/bash

三 Etcd

# 拉去镜像
docker pull appcelerator/etcd:latest
# 启动
docker run --name etcd01 -d -p 2379:2379 -p 2380:2380 appcelerator/etcd --listen-client-urls http://0.0.0.0:2379 --advertise-client-urls http://0.0.0.0:2379 

# 客户端链接
docker exec -it etcd01 /bin/bash

四 Elasticsearch

# 拉取镜像
docker pull elasticsearch:latest
# 启动
docker run --name es01 -d -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e  "ES_JAVA_OPTS=-Xms1g -Xmx1g" elasticsearch:latest

# 使用head客户端链接
docker pull mobz/elasticsearch-head:5
# 启动header 容器
docker run -d --name my-es_admin -p 9100:9100 mobz/elasticsearch-head:5

# curl测试访问

第一次打开浏览器header访问,连接的服务地址是localhost:9200,修改为docker所在的ip。此时出现连接失败,需要修改镜像的elasticsearch.yml文件,添加

http.cors.enabled: true
http.cors.allow-origin: "*"

# 重启es
docker restart es01
docker restart my-es-head

五 MongoDB

#拉取镜像
docker pull mongo:lastest

# 启动
docker run --name mongodb01  -p 27017:27017 -d mongo:latest

# 客户端链接以admin进入容器
 docker exec -it mongodb01 mongo admin

六 postgre

# 下载
docker pull postgres:12

# 启动
docker run --name pg01 -e POSTGRES_PASSWORD=pgadmin  -p 54320:5432 -d postgres:12


# 客户端链接
 docker exec -it pg01 /bin/bash

其他

本文通过利用Docker容器化封装的能力,将含有镜像直接从仓库拉取下来后,通过命令行运行,并将指定端口映射到本地。然后本地开发的时候,并不需要去关注数据库的配置和安装了,简单来说,就是查询镜像、拉取镜像、运行镜像。简单的三部操作就可以拥有一个配置好的需求数据库环境。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。