前言
作为一位合格的程序猿(工程师),在日常工作中,除了写各种语言的代码,配置各种语言的开发环境及 IDE 外,我们往往还需要依赖其他第三方服务,如:服务器,数据库,缓存,搜索,MQ 等等。这些服务的安装各式各样,对于不熟悉的人来说极为复杂,各种繁琐的配置对于有强迫症的人来说又不想把机器配置搞的乱七八糟,这时我们可以选择使用 Docker 来快速搭建开发环境,相对弱化复杂的安装过程,与服务器配置过程。
如何安装 Docker
使用如下命令,简单快速配置安装,兼容大多数Linux系统:
$ curl -sSL https://get.docker.com | sh
这个命令效果同上,只是一个国内脚本加速:
curl -sSL https://get.daocloud.io/docker | sh
Docker 安装 Mongodb
启动 4.0.14
版本 Mongodb ,并设置 admin
库的账号密码,如下命令:
docker run -d --network host --name dev-mongo \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=hackerdom \
-p 27017:27017 \
mongo:4.0.14
如果需要指定 Mongodb 版本,请在这里选择你需要的版本,并修改 mongo:4.0.14
中的版本即可。
Docker 安装 Mysql
启动 8.0.18
版本 Mysql ,并设置 root
库的账号密码,如下命令:
docker run -d --name dev-mysql \
-e MYSQL_ROOT_PASSWORD=hackerdom \
-p 3306:3306 \
mysql:8.0.18
如果需要指定 Mysql 版本,请在这里选择你需要的版本,并修改 mysql:8.0.18
中的版本即可。
Docker 安装 Redis
启动 5.0.7
版本 Redis ,并设置密码,如下命令:
docker run -d --name dev-redis \
-p 6379:6379 \
redis:5.0.7 --requirepass "hackerdom"
如果需要指定 Redis 版本,请在这里选择你需要的版本,并修改 redis:5.0.7
中的版本即可。
Docker 安装 Kafka & Kafka Console
在此推荐一个开源项目 fast-data-dev 可以快速部署Kafka,具体操作如下:
docker run -d --name fast-data-dev \
-p 2181:2181 \
-p 3030:3030 \
-p 8081-8083:8081-8083 \
-p 9581-9585:9581-9585 \
-p 9092:9092 \
-e ADV_HOST=[VM_EXTERNAL_IP] \
lensesio/fast-data-dev:latest
注意![VM_EXTERNAL_IP]
需要改为你的服务器IP。
之后全套的Kakfa监控等,如下图:
如何安装 Docker Compose
这个东西是一个轻量级容器编排工具,如何快速安装,执行如下两个命令即可:
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
为什么要装这个,有些比较复杂的中间件,可以使用这个快速安装,下面开始介绍快速部署一些中间件。
Docker 安装 RocketMQ & RocketMQ Console
首先,找一个目录创建一个文件,文件名 docker-compose.yml
文件内容如下:
version: '3.5'
services:
rmqnamesrv:
image: foxiswho/rocketmq:server
container_name: rmqnamesrv
ports:
- 9876:9876
volumes:
- ./data/logs:/opt/logs
- ./data/store:/opt/store
networks:
rmq:
aliases:
- rmqnamesrv
rmqbroker:
image: foxiswho/rocketmq:broker
container_name: rmqbroker
ports:
- 10909:10909
- 10911:10911
volumes:
- ./data/logs:/opt/logs
- ./data/store:/opt/store
- ./broker.conf:/etc/rocketmq/broker.conf
environment:
NAMESRV_ADDR: "rmqnamesrv:9876"
JAVA_OPTS: " -Duser.home=/opt"
JAVA_OPT_EXT: "-server -Xms128m -Xmx128m -Xmn128m"
command: mqbroker -c /etc/rocketmq/broker.conf
depends_on:
- rmqnamesrv
networks:
rmq:
aliases:
- rmqbroker
rmqconsole:
image: styletang/rocketmq-console-ng
container_name: rmqconsole
ports:
- 8080:8080
environment:
JAVA_OPTS: "-Drocketmq.namesrv.addr=rmqnamesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false"
depends_on:
- rmqnamesrv
networks:
rmq:
aliases:
- rmqconsole
networks:
rmq:
name: rmq
driver: bridge
然后在创建一个配置文件,broker.conf
,文件内容如下(将其与上面文件放在同一个目录下):
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 240
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
brokerIP1=[VM_EXTERNAL_IP]
注意![VM_EXTERNAL_IP]
需要改为你的服务器IP。
最关键的一步来了,上面的内容都准备好之后在 docker-compose.yml
文件所在目录下执行如下命令:
docker-compose up -d
Docker 安装 PostgreSQL
启动 12.1
版本 PostgreSQL ,并设置密码,如下命令:
docker run -d --name dev-postgreSql \
-e POSTGRES_PASSWORD=hackerdom \
-e POSTGRES_USER=admin \
-p 5432:5432 postgres:12.1
如果需要指定 PostgreSQL 版本,请在这里选择你需要的版本,并修改 postgres:12.1
中的版本即可。
今天就先到这里,改天在更新。
最后修改于 2020-01-04
此篇文章的评论功能已经停用。