基于docker搭建rabbitmq
Docker系统有两个程序:docker服务端和docker客户端。其中docker服务端是一个服务进程,管理着所有的容器。docker客户端则扮演着docker服务端的远程控制器,可以用来控制docker的服务端进程。大部分情况下,docker服务端和客户端运行在一台机器上。
1、安装docker,在centos中直接yum安装
#yum install -y docker
可以用docker version查看安装的版本信息。如果没启动docker,就只能看到客户端的版本信息,在启动之后能看到客户端和服务端的版本信息。
2、镜像管理
docker images:列出本地所有镜像
docker search <IMAGE_ID/NAME>:查找要安装的image
docker pull <IMAGE_ID>:下载要安装的image
docker push <IMAGE_ID>:上传image
docker rmi <IMAGE_ID>:删除image
下面以安装rabbitmq为例:
1、可以先用docker images列出docker里的所有镜像,由于是新安装的docker,所以列表是空的。
2、查找rabbitmq镜像文件
#docker search rabbitmq
3、下载rabbitmq镜像
为了快速下载镜像,先创建一个daemon.json文件,文件内容如下:
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://83xtzno0.mirror.aliyuncs.com "]
}
EOF
systemctl daemon-reload
systemctl restart docker
#docker pull rabbitmq 下载镜像
4、在docker中运行rabbitmq,并新建rabbitmq登录界面的用户名和密码。
#docker run -d --hostname rabbit --name rabbit -e RABBITMQ_DEFAULT_USER=rabbitadmin -e RABBITMQ_DEFAULT_PASS=rabbitpwd -p 15672:15672 rabbitmq:3-management
说明:
-d:以守护进程方式在后台运行
--hostname:设置容器的主机名,仅本机可见。这种方式是写到/etc/hostname ,以及/etc/hosts 文件中,作为容器主机IP的别名,并且将显示在容器的bash中。不过这种方式设置的主机名将不容易被容器之外可见。这将不会出现在 docker ps 或者 其他的容器的/etc/hosts 文件中。
--name:指定容器名
-p:指定服务运行的端口。
5、查看镜像是否启动,使用docker ps命令可以查看所有正在运行中的容器列表,使用docker inspect命令我们可以查看更详细的关于某一个容器的信息。
6、在启动容器之后,可以用以下命令管理
docker stop rabbit(容器名,就是在开始运行时指定的name):停止rabbitmq
docker start rabbit:重新启动rabbitmq
docker ps -l:显示最后启动的容器
docker ps -a:同时显示停止的容器,默认只显示启动状态
docker exec -it rabbit1 /bin/bash: 连接到容器进行操作(-t:为容器分配 一个伪终端;-i:进行交互式的标准输入)
7、登录测试http://docker ip:15672/