docker安装mysql、mongodb、redis和kafka、kafkamanager等数据库中间件

1、 mysql安装

sudo docker run --name mysql --restart=always -p 3306:3306 -v mysql_data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=topcom123 -d mysql:5.7.19 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --lower_case_table_names=1

2、 redis安装

sudo docker run -p 6369:6379 -v redis-data:/data --name redis --restart=always -d redis:4.0.2 --appendonly yes --requirepass yourpassword

3、 mongodb安装

3.1 无密码认证

sudo docker run -p 27007:27017 --name mongo --restart=always -v mongodb-data:/data/db -d mongo:3.4.9

3.2 添加认证

方法一:

可以在上面的容器中增加账号密码,然后克隆上面容器,在命令中加入--auth即可,需要把原来无密码容器删除

方法二(推荐):

在创建容器时直接添加认证

sudo docker run -p 27008:27017 --name mongo-auth --restart=always -v /data/docker/volumes/mongodb-data/_data:/data/db -d mongo:3.4.9 --auth
#### 注意/data/docker/volumes/mongodb-data/_data 要为空目录

docker exec -it mongo-auth mongo admin

创建mongo账号密码

  • (1)切换到admin
use admin
  • (2)添加管理用户
db.createUser({ user: 'root', pwd: 'root', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] })
image.png
  • (3)授权登陆admin
db.auth("root","root");
  • (4)为制定数据库db创建账号
db.createUser({user:"xxxx",pwd:"xxxx",roles:[{role:"dbOwner",db:"yourdb"}]})

方法三:用docker-compose安装(会缺少docke容器ip地址)

类似下图:


image.png
  • docker-compose-mongo.yml文件
version: '2'
services:
  mongodb-auth:
    image: mongo:3.4.9
    ports:
        - 27008:27017
    volumes:
        - "./data/configdb:/data/configdb"
        - "./data/db:/data/db"
    command: mongod --auth
    tty: true
    

执行命令
docker-compose -f docker-compose-mongo.yml up -d
参考文档:https://juejin.im/post/5a560286f265da3e33043ab0

4、docker安装 kafka&&kafkamanager

下载镜像

### zookeeper image
docker pull wurstmeister/zookeeper
### kafka image
docker pull wurstmeister/kafka
### kafka-manager image
docker pull sheepkiller/kafka-manager

方法一:docker-compose方式

docker-compose -f docker-compose-single-broker.yml up -d

  • docker-compose-single-broker.yml
version: '2'
services:
  zookeeper:
    image: wurstmeister/zookeeper
    ports:
      - "2182:2181"
  kafka:
    image: wurstmeister/kafka
    ports:
      - "9072:9092"
    environment:
      KAFKA_ADVERTISED_HOST_NAME: 192.168.1.108
      KAFKA_CREATE_TOPICS: "test:1:1"
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
  kafka-manager:
    image: sheepkiller/kafka-manager
    links:
      - kafka
      - zookeeper
    environment:
      ZK_HOSTS: zookeeper:2181
      APPLICATION_SECRET: "letmein"
    ports:
      - "9001:9000"
    expose:
      - "9001"

方法二:

2.1启动zookeeper
docker run -d --name zookeeper --publish 2181:2181 \
--volume /etc/localtime:/etc/localtime \
--restart=always \
wurstmeister/zookeeper

2.2启动kafka
docker run -d --name kafka --publish 9082:9092 \
--link zookeeper:zookeeper \
--env KAFKA_BROKER_ID=100 \
--env HOST_IP=192.168.1.108 \
--env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 \
--env KAFKA_ADVERTISED_HOST_NAME=192.168.1.108 \
--env KAFKA_ADVERTISED_PORT=9082 \
--restart=always \
--volume /etc/localtime:/etc/localtime \
wurstmeister/kafka

2.3启动kafka-manager
docker run -d --name kafka-manager \
--link zookeeper:zookeeper \
--link kafka:kafka -p 9001:9000 \
--restart=always \
--env ZK_HOSTS=zookeeper:2181 \
sheepkiller/kafka-manager

5、 远程phantomjs服务 安装

docker run -d --restart=always --name phantomjs  -p 8910:8910 wernight/phantomjs phantomjs --webdriver=8910

参考:LI木水 https://www.jianshu.com/p/9b7abead49cc

6、 fastdfs安装

参考: LI木水https://www.jianshu.com/p/c66af05c65f3

docker run -itd \
  --name fastdfs-nginx \
  --network=host \
  -v /etc/localtime:/etc/localtime:ro \
  -v /var/log/fdfs/:/data/fdfs/logs/ \
  -v /data/fdfs/data/:/data/fdfs/data/ \
  -v /var/log/nginx/:/var/log/nginx/ \
  fastdfs-nginx \
  sh -c "/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart && /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart && /usr/sbin/nginx -g 'daemon off;'"

常用命令

fdisk -l 
#挂载硬盘
mount /dev/sda1 /home/shaol/test 

##在/var/lib/docker即为/data/docker的软连接,文件夹后面不要加 “/”,
ln -s /data/docker /var/lib/docker# 

ls -la /var/lib/docker  
lrwxrwxrwx 1 root root 12 7月  14 17:20 /var/lib/docker -> /data/docker

7、安装nodejs

参考https://www.jianshu.com/p/e9db0baf781b

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 201,924评论 5 474
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,781评论 2 378
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,813评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,264评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,273评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,383评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,800评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,482评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,673评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,497评论 2 318
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,545评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,240评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,802评论 3 304
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,866评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,101评论 1 258
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,673评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,245评论 2 341

推荐阅读更多精彩内容