当前位置: 首页>编程语言>正文

java常用环境docker安装

配置目录

    • rocketmq
    • redis
    • mysql
      • 不配置binlog
      • 配置binlog
    • Nacos
    • zookeeper

本文为精简安装,部分不带容器卷映射,仅供以学习使用。

rocketmq

  1. nameservice
docker run -d -p 9876:9876  --name rmqnamesrv rocketmqinc/rocketmq sh mqnamesrv
  1. broker
docker run -d -p 10911:10911 -p 10909:10909  --name rmqbroker --link rmqnamesrv:namesrv -e "NAMESRV_ADDR=namesrv:9876" -e "JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/jre/" rocketmqinc/rocketmq sh mqbroker -c /opt/rocketmq-4.4.0/conf/broker.conf

修改broker.conf

#进入容器
docker exec -it 8492ebf39870a455ba8f5e2715a373b6643144c6896ac8913ccdbf87e8cf2282 /bin/sh 

vi /opt/rocketmq-4.4.0/conf/broker.conf
添加:    brokerIP1 = 本机外网ip地址

//重启容器
docker restart 8492ebf39870a455ba8f5e2715a373b6643144c6896ac8913ccdbf87e8cf2282
  1. mqconsole
    注意这里的IP应该为主机的外网IP。
docker run -d --name rmqconsole -e "JAVA_OPTS=-Drocketmq.namesrv.addr=10.3.89.152:9876 -Dcom.rocke
tmq.sendMessageWithVIPChannel=false" -p 8088:8080 -t styletang/rocketmq-console-ng

配置完成后访问 http://localhost:8088/#/ 即可看到管理界面。
java常用环境docker安装,第1张

redis

docker run -p 6379:6379 --name redis  -d redis redis-server --requirepass "123456"

mysql

mysql配置较为繁琐,如果不需要开启binlog可以直接运行第一个。

不配置binlog

docker run \
--name mysql \
-d \
-p 3306:3306 \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.7

配置binlog

  1. 从容器中获取mysqld.cnf文件
docker run --name mysql \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql

# /home/yi/mysql/conf 是本地目录,没有的话需要创建
docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf /home/yi/mysql/conf
  1. 配置开启binlog
#在/home/yi/mysql/conf/mysqld.cnf中添加:
# 配置文件中添加如下内容,注意是在在[mysqld]目录中
log-bin=mysql-bin  # 开启 binlog
binlog-format=ROW  # 选择 ROW 模式
server-id=1 # 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复
  1. 以配置文件启动容器
    这里conf、log、data目录都需要自己创建
#删除mysql容器
docker rm -f mysql
#创建mysql容器
 docker run -itd --name mysql \
 -e MYSQL_ROOT_PASSWORD=123456 \
-p 3306:3306 \
-v /etc/localtime:/etc/localtime \
-v /home/yi/mysql/conf:/etc/mysql/mysql.conf.d \
-v /home/yi/mysql/log:/var/log/mysql \
-v /home/yi/mysql/data:/var/lib/mysql \
 mysql
  1. 可选项
#可选项 授权root账号所有IP能够访问
# 使用 MySQL 容器中的命令行
docker exec -it mysql /bin/bash

# 使用 MySQL 命令打开客户端:
mysql -uroot -p123456 --default-character-set=utf8

# 接着创建一个账户,该账号所有 IP 都能够访问
grant all privileges on *.* to 'root' @'%' identified by 'root';

# 刷新生效
FLUSH PRIVILEGES;

# 查看 binlog 日志是否开启
show variables like 'log_%';

# 查看主结点当前状态
show master status;

Nacos

docker run \
-d -p 8848:8848 \
-p 9848:9848 \
--name nacos2 \
-e MODE=standalone \
-e TIME_ZONE='Asia/Shanghai' \
nacos/nacos-server:v2.1.1

访问:http://localhost:8848/nacos/ 即可进入管理界面

zookeeper

docker run -d -e TZ="Asia/Shanghai" -p 2181:2181 -v /home/yi/zookeeper:/data --name zookeeper  zookeeper

验证安装:

#进入容器
docker exec -it zookeeper bash      //只登录容器,不登录 zkCli
 ./bin/zkCli.sh    //执行脚本新建一个Client,即进入容器
create /test   //创建test节点
ls /                 //查找当前创造的节点[test, zookeeper]

https://www.xamrdz.com/lan/5ph1848962.html

相关文章: