Docker 中间件 部署

简介

本文用于记录Docker 简洁 部署中间件 应用,用户快速实现代码集成,并不能用于生产环境开发使用。

MySQL:

拉取镜像

$docker pull mysql:5.7

运行容器

$docker volume create mysql
$docker run -d --name mysql -v mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 mysql:5.7

-d : --detach,后台运行。
--name : 为你的镜像创建一个别名,该别名用于更好操作。
-p : 映射端口,一般我们会将默认端口进行更改,避免与本机的mysql端口冲突,如果你宿主机有mysql,请更改端口,如 -p 3307:3306。
-e : 环境变量。为mysql的root用户设置密码为root。
-v : 指定数据卷,意思就是将mysql容器中的/var/lib/mysql(这个是数据库所有数据信息文件)映射到宿主机/data/mysql里面。

允许远程连接
连接mysql,进行设置即可

$docker exec -it mysql /bin/bash
$mysql -u root -p
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

最后退出即可
这里又不得不提数据卷的特性,生命周期独立于容器,意味着我们可以创建新的mysql容器,只需要指定同一个数据卷就可以了。
至此简单的利用docker部署了一个简单的mysql容器,如果需要更个性化的conf,配置即可。

redis:

$ docker pull redis
$ docker run --name redis -d -p 6379:6379 redis

持久存储

$ docker run --name myredis -d -p 6379:6379 redis redis-server --appendonly yes

默认数据存储位置在 VOLUME/data。可以使用 --volumes-from some-volume-container 或 -v /docker/host/dir:/data 将数据存放到本地。

# 方案1
$ docker volume create redis
$ docker run --name myredis -d -p 6379:6379 -v redis:/data redis redis-server --appendonly yes
# 方案2
$ docker run --name myredis -d -p 6379:6379 -v /docker/host/dir:/data redis redis-server --appendonly yes

RabbitMQ

rabbitmq:
  image: rabbitmq:3.7.15-management
  container_name: rabbitmq
  volumes:
    - /root/mydata/rabbitmq/data:/var/lib/rabbitmq #数据文件挂载
    - /root/mydata/rabbitmq/log:/var/log/rabbitmq #日志文件挂载
  ports:
    - 5672:5672
    - 15672:15672

Kafka

1.镜像下载

docker pull wurstmeister/kafka
docker pull wurstmeister/zookeeper

2.启动

docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper

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

3.Kafka Tool 连接使用

posted @ 2019-05-16 14:06  家迪的家  阅读(738)  评论(0编辑  收藏  举报