docker安装常用软件
安装docke
安装mysql
查看mysql版本
docker search mysql
下载mysql
命令 | 描述 |
---|---|
docker pull mysql | 下载最新版Mysql镜像 (其实此命令就等同于 : docker pull mysql:latest ) |
docker pull mysql:xxx | 下载指定版本的Mysql镜像 (xxx指具体版本号) |
创建容器
docker run \
--name mysql \
-d \
-p 3306:3306 \
--restart unless-stopped \
-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
命令 | 描述 |
---|---|
docker run | 创建一个新的容器 , 同时运行这个容器 |
–name mysql | 启动容器的名字 |
-d | 后台运行 |
-p 3306:3306 | 将容器的 3306 (后面那个) 端口映射到主机的 3306 (前面那个) 端口 |
–restart unless-stopped | 容器重启策略 |
-v /mydata/mysql/log:/var/log/mysql | 将日志文件夹挂载到主机 |
-v /mydata/mysql/data:/var/lib/mysql | 将mysql储存文件夹挂载到主机 |
-v /mydata/mysql/conf:/etc/mysql | 将配置文件夹挂载到主机 |
-e MYSQL_ROOT_PASSWORD=root | 设置 root 用户的密码 |
mysql:5.7 | 启动哪个版本的 mysql (本地镜像的版本) |
\ | shell 命令换行符 |
安装kafka
docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka
启动zookeeper容器
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper
启动kafka
docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=localhost:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka
docker run -d --name kafka1 -p 9093:9093 -e KAFKA_BROKER_ID=1 -e KAFKA_ZOOKEEPER_CONNECT=localhost:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9093 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9093 -t wurstmeister/kafka
docker run -d --name kafka2 -p 9094:9094 -e KAFKA_BROKER_ID=2 -e KAFKA_ZOOKEEPER_CONNECT=localhost:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9094 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9094 -t wurstmeister/kafka
参数说明:
-e KAFKA_BROKER_ID=0 在kafka集群中,每个kafka都有一个BROKER_ID来区分自己
-e KAFKA_ZOOKEEPER_CONNECT=172.21.10.10:2181/kafka 配置zookeeper管理kafka的路径172.21.10.10:2181/kafka
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://172.21.10.10:9092 把kafka的地址端口注册给zookeeper,如果是远程访问要改成外网IP,类如Java程序访问出现无法连接。
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 配置kafka的监听端口
-v /etc/localtime:/etc/localtime 容器时间同步虚拟机的时间
写localhost后进入容器会关闭kafka 连接不上zookeeper 尽量写主机ip。
验证kafka是否可以使用
docker exec -it kafka bash
cd /opt/kafka_2.13-2.8.1/bin
./kafka-console-producer.sh --broker-list localhost:9092 --topic test
>helloworld
>^C
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
见贤思齐焉见不贤而内自省也