参考官方文档
rabbitmq
版本:3.8.3
1 拉取镜像
以rabbitmq 3.8.3
为例,镜像分为两种:
rabbitmq:3.8.3
不带控制台rabbitmq:3.8.3-management
带控制台,登录地址http://localhost:15672
,默认登录用户为guest
,密码为guest
。
下面的命令,拉取带控制台的镜像:
docker pull rabbitmq:3.8.3-management
2 查看镜像信息
通过docker image inspect rabbitmq:3.8.3-management
查看镜像信息。可以发现rabbitmq
的数据是保存在/var/lib/rabbitmq
下面的,另外在启动的logs
里面可以看到配置文件是加载的/etc/rabbitmq/rabbitmq.conf
。
3 创建容器
RabbitMQ
通过节点名(通常是主机名)存储数据。所以我们启动 Docker
时需要设置 -h/--hostname
参数,这样通过指定自定义的主机名,我们就能很方便的知道数据是存在哪里了。
首先,在宿主机器上面创建文件夹/home/docker/rabbitmq/data
保存rabbitmq
的数据,创建home/docker/rabbitmq/conf/rabbitmq.conf
保存配置:
mkdir -p /home/docker/rabbitmq/data
mkdir -p /home/docker/rabbitmq/conf
cd /home/docker//rabbitmq/conf
touch rabbitmq.conf
然后,通过下面的命令创建并启动一个rabbitmq
的容器:
docker run -d --hostname=my-host --name=my-rabbitmq rabbitmq:3.8.3-management
等容器启动之后,可以通过docker logs my-rabbitmq
看到以下信息:
Starting broker...2020-04-02 11:37:55.025 [info] <0.278.0>
node : rabbit@my-host
home dir : /var/lib/rabbitmq
config file(s) : /etc/rabbitmq/rabbitmq.conf
cookie hash : urlwUqx8Okg1vOjh1maIIA==
log(s) : <stdout>
database dir : /var/lib/rabbitmq/mnesia/rabbit@my-host
也可以添加端口映射、设定用户名和密码:
docker run -d --hostname my-host -p 15671:15671 -p 15672:15672 -p 25672:25672 -p 4369:4369 -p 5671:5671 -p 5672:5672 --name my-rabbitmq -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=password rabbitmq:3.8.3-management
登录管理页面http://192.168.99.100:15672
。