Docker 安装 zookeeper,redis,rabbitmq

1.下载zookeeper镜像

docker pull zookeeper

2.床架镜像文件夹

cd /data
mkdir zookeeper

3.启动服务

docker run -d -e TZ="Asia/Shanghai" -p 2181:2181 -v /data/zookeeper:/data --name zookeeper --restart always zookeeper
-e TZ="Asia/Shanghai" # 指定上海时区 
-d # 表示在一直在后台运行容器
-p 2181:2181 # 对端口进行映射,将本地2181端口映射到容器内部的2181端口
--name # 设置创建的容器名称
-v # 将本地目录(文件)挂载到容器指定目录;
--restart always #始终重新启动zookeeper

附:三个常用端口(可以修改)

1、2181:对cline端提供服务
2、3888:选举leader使用
3、2888:集群内机器通讯使用(Leader监听此端口)

查看启动情况

docker ps

在这里插入图片描述

4.测试

因为刚才我们启动的那个 ZK 容器并没有绑定宿主机的端口, 因此我们不能直接访问它. 但是我们可以通过 Docker 的 link 机制来对这个 ZK 容器进行访问. 执行如下命令:

docker run -it --rm --link zookeeper:zookeeper zookeeper zkCli.sh -server zookeeper

在这里插入图片描述
在这里插入图片描述


1.前置条件:先按zookeeper

docker run -d --name zookeeper -p 2181:2181 -v /etc/localtime:/etc/localtime wurstmeister/zookeeper

在这里插入图片描述

2.正题:安装kafka

docker run  -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=10.9.44.11:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://10.9.44.11:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka

3.参数意义

-e KAFKA_BROKER_ID=0 在kafka集群中,每个kafka都有一个BROKER_ID来区分自己

-e KAFKA_ZOOKEEPER_CONNECT=10.9.44.11:2181/kafka 配置zookeeper管理kafka的路径10.9.44.11:2181/kafka

-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://10.9.44.11:9092kafka的地址端口注册给zookeeper

-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 配置kafka的监听端口

-v /etc/localtime:/etc/localtime 容器时间同步虚拟机的时间

4.验证kafka是否可以使用

4.1 进入容器

docker exec -it kafka /bin/sh

4.2 进入路径

cd /opt/kafka_2.11-2.0.0/bin

4.3运行kafka生产者发送消息

./kafka-console-producer.sh --broker-list localhost:9092 --topic sun

4.4 发送消息

{“datas”:[{“channel”:"",“metric”:“temperature”,“producer”:“ijinus”,“sn”:“IJA0101-00002245”,“time”:“1543207156000”,“value”:“80”}],“ver”:“1.0”}

docker安装redis与rabbitmq

1.安装docker 安装成功 后如果

docker pull redis:latest报异常如下:

“no matching manifest for windows/amd64 10.0.17763 in the manifest list entries”

解决方案:
右击Docker实例
转到设置
守护进程
高级的
设置experimental
重新启动Docker
在这里插入图片描述
解决 好以后
下面展示一些 内联代码片
redis:

C:\Users\pactera-530>docker pull redis:latest
latest: Pulling from library/redis
69692152171a: Pull complete
a4a46f2fd7e0: Pull complete
bcdf6fddc3bd: Pull complete
2902e41faefa: Pull complete
df3e1d63cdb1: Pull complete
fa57f005a60d: Pull complete
Digest: sha256:7e2c6181ad5c425443b56c7c73a9cd6df24a122345847d1ea9bb86a5afc76325
Status: Downloaded newer image for redis:latest
docker.io/library/redis:latest

C:\Users\pactera-530>docker run -itd --name redis-test -p 6379:6379 redis
4606531f336da26dffae2aedba31cd5f8ed7f20769c5edf3c507f6606c51ba16

rabbitmq:

C:\Users\pactera-530>docker pull pdffiller/rabbitmq
Using default tag: latest
latest: Pulling from pdffiller/rabbitmq
627beaf3eaaf: Pull complete
079ada2a602c: Pull complete
c8b76ba05073: Pull complete
3ca62166aad9: Pull complete
010d9b0166c6: Pull complete
a2491e862df7: Pull complete
f98ce04c2bc0: Pull complete
eb354d1958ec: Pull complete
fab9b96578e0: Pull complete
4597af31939f: Pull complete
e55e9df39b23: Pull complete
d6db643f9ed4: Pull complete
Digest: sha256:4a53f34a9bbc6ae96716ce56b4a9a818d0f273faecf1faef7059940665d2d117
Status: Downloaded newer image for pdffiller/rabbitmq:latest
docker.io/pdffiller/rabbitmq:latest

C:\Users\pactera-530>docker run -d -p 5672:5672 -p 15672:15672 --name rabbitmq pdffiller/rabbitmq
07da1f3365b9b3bbdd4d08887b67b5a1f015553df0db2bcfb5bb0df46c6c3b25

******记录一个问题,docker pull pdffiller/rabbitmq 虽然拉取和启动成功,但是不能使用
请使用下面新的拉取mq方式:

C:\Users\pactera-530>docker pull rabbitmq:management
management: Pulling from library/rabbitmq
345e3491a907: Pull complete
57671312ef6f: Pull complete
5e9250ddb7d0: Pull complete
87dda86b6fa0: Pull complete
848ffb5f028a: Pull complete
90a071418b65: Pull complete
31050a7ab7e5: Pull complete
5e7c9bebd0c1: Pull complete
19288f167abf: Pull complete
52d4a23cf7cc: Pull complete
101d5452a90a: Pull complete
03042168919f: Pull complete
eeffdb7bcae0: Pull complete
Digest: sha256:09f73d00fc0d9eeb05d8dba8ab6aa5d0265af4d537c71f75229204bca4304dc7
Status: Downloaded newer image for rabbitmq:management
docker.io/library/rabbitmq:management

C:\Users\pactera-530>docker run -d -p 5672:5672 -p 15672:15672 --name rabbitmq rabbitmq:management
–拉取镜像
docker pull rabbitmq:management

拉取成成之后,输入:docker images 查看拉取镜像,如下图所示表示成功

docker run -d -p 5672:5672 -p 15672:15672 --name rabbitmq rabbitmq:management

打开浏览器输入:http://localhost:15672/ ,如下图所示,表示成功,可以使用默认的账户登录,用户名和密码都guest

docker ps -a 查看所有容器 里面有一个 【CONTAINER ID】
dokcer start 【CONTAINER ID】 启动

Docker 与其 redis rabbitmq 的快速安装与配置

Docker

Docker 安装

下载并安装-自动化

curl -sSL https://get.daocloud.io/docker | sh

配置加速镜像,这里是阿里云的配置,点击获取

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://$(你自己的id).mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

Docker 安装 Redis

1、docker 获取 Redis
docker pull redis:5.0.10
2、修改 Redis 默认配置文件

记得将配置文件的 requirepass 改成自己的密码

bind 0.0.0.0
protected-mode yes
requirepass $(your password)
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 0
loglevel notice
logfile ""
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir ./
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes
3、创建 Redis 挂载目录
mkdir -p /software/redis/data /software/redis/conf

并将配置文件放入到 conf 文件夹中去

4、启动 Redis
docker run -d  --name redis -p 6379:6379 -v /software/redis/conf/redis.conf:/redis.conf -v /software/redis/data:/data redis:5.0.10 redis-server /redis.conf --appendonly yes
-d 后台启动
-- name 对这个容器命名
-p 端口映射
-v 挂载目录,前面是本机目录,中间以 :隔开,后面是 docker 的目录
--appendonly yes 启动容器后开启 appendonly 配置
5、修改防火墙

这里是 Centos7

# 查看防火墙开放端口
firewall-cmd --zone=public --list-ports
# 添加端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
# 重新加载配置文件
firewall-cmd --reload
6、验证 redis
docker exec -it redis /bin/bash
redis-cli
auth $(你的密码)
set key value

远程连接 redis,自行验证吧

Docker 安装 RabbitMQ

1、docker 获取 rabbitmq
docker search rabbitmq
docker pull rabbitmq
2、启动 rabbitmq
docker run -d --hostname rabbitmq --name rabbit -p 15672:15672 -p 5672:5672 rabbitmq
3、安装插件
docker exec -it rabbit /bin/bash
rabbitmq-plugins enable rabbitmq_management
ctrl + p + q 退出
4、验证
curl 127.0.0.1:15672
5、开放防火墙
firewall-cmd --zone=public --add-port=15672/tcp --add-port=5672/tcp --permanent
firewall-cmd --reload
6、windows 验证

服务器 host:15672

user:guest
password:guest

Docker笔记(五)Docker常用软件的安装(tomcat,mysql,redis,rabbitmq等)

安装tomcat

  1. docker search tomcat

  2. docker pull tomcat

  3. docker images tomcat 查看是否有拉取到

  4. 使用tomcat镜像创建容器实例(也叫运行镜像)

4.1 docker run -d -p 8080:8080 --name tomcat tomcat
以上命令就创建了Tomcat容器,并且启动了Tomcat
在这里插入图片描述
但是我们浏览器访问报错
在这里插入图片描述
可能没有映射端口或者没有关闭防火墙,还有可能没有这个页面

我们进入启动的Tomcat里面
在这里插入图片描述
webapp里面啥也没有,所以看不到页面,我们把
·把webapps.dist目录换成webapps
在这里插入图片描述
以上就可以看到

安装mysql

  1. docker search mysql
  2. docker pull mysql
  3. docker images mysql 查看是否有拉取到
  4. 创建一个容器
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

在这里插入图片描述
在这里插入图片描述
进入到mysql
在这里插入图片描述
进入mysql的客户端
在这里插入图片描述
Windows里面也可以连到
在这里插入图片描述

问题

如果把容器删除了,这个数据库就没有了

解决

使用容器数据卷

docker run -d -p 3306:3306 --privileged=true -v /usr/local/dockermysql/log:/var/log/mysql -v /usr/local/dockermysql/data:/var/lib/mysql -v /usr/local/dockermysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.6

在这里插入图片描述
在这里插入图片描述
新建my.cnf
在这里插入图片描述
在这里插入图片描述

总结

一定要挂载数据卷

安装redis

  1. docker search redis

  2. docker pull redis

  3. docker images redis 查看是否有拉取到
    在这里插入图片描述
    需要挂载数据卷

  4. 在CentOS宿主机下新建目录/usr/local/docker_redis
    在这里插入图片描述
    里面放一个redis的配置文件
    在这里插入图片描述
    进入这个配置文件,进行修改里面的东西

4.1 允许redis外地连接 必须
注释掉 # bind 127.0.0.1

4.2 daemonize no
daemonize yes注释起来或者 daemonize no设置,因为该配置和docker run-d参数冲突,会导致容器一直启动失败

4.3 开启redis数据持久化 appendonly yes 可选

  1. 创建redis的容器

用最新的redis的镜像,不要用6.0.8版本

docker run  -d -p 6379:6379  --privileged=true -v /usr/local/docker_redis/redis.conf:/etc/redis/redis.conf -v /usr/local/docker_redis/data:/data    --name redis  redis:latest redis-server /etc/redis/redis.conf  --appendonly yes
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值