环境及配置
- Win10
- VMware Workstation Pro16
- Centos 7(已安装并联网)
- MobaXterm
安装教程
可以跟据菜鸟教程的方法
设置仓库
安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。
$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
更换源
$ sudo yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
以下命令均在root模式下
拉取镜像
docker pull rabbitmq:management
我这里用的是 rabbitmq:3.7.7-management
带 -management 的是有网页端管理器的
下面方便复制:
docker pull rabbitmq:3.7.7-management
创建数据卷
创建一个卷叫做 rabbitmq-home
docker volume create rabbitmq-home
下面方便复制:
docker volume create rabbitmq-home
补充知识:
Docker的数据卷(Volume)是一种可用于容器和主机之间共享数据的机制。它是一个目录,位于主机上的特定位置,并且可以在多个容器之间共享。
数据卷的作用:
数据持久化:容器在启动和关闭过程中,文件系统中的数据将不会丢失。这对于需要持久存储数据的应用程序非常有用,如数据库。
数据共享:不同的容器可以通过共享同一个数据卷来访问和修改同一组数据。这对于多个容器之间共享配置文件、日志文件等非常有用。
数据备份和恢复:可以将数据卷从一个容器复制到另一个容器,从而实现数据的备份和恢复。
数据迁移:通过使用数据卷,可以轻松地在不同的主机或云平台之间迁移容器和数据。
数据卷为容器提供了持久化存储和数据共享的能力,使得容器在不同的环境中具有更好的可移植性和可扩展性。
启动命令
这个命令里面和网上的不太一样 加了 --privileged=true 来给容器加上特定权限
docker run -id --name=rabbitmq --privileged=true -v rabbitmq-home:/var/lib/rabbitmq -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_USER=root -e RABBITMQ_DEFAULT_PASS=123456 rabbitmq:3.7.7-management
下面方便复制:
docker run -id --name=rabbitmq --privileged=true -v rabbitmq-home:/var/lib/rabbitmq -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin rabbitmq:3.7.7-management
补充知识:
以下是RabbitMQ在Docker中运行时的常用参数:
-p <host-port>:<container-port>
:绑定主机端口和容器端口-e <ENV_VAR_NAME>=<value>
:设置环境变量-v <host-directory>:<container-directory>
:挂载主机目录到容器目录--name <container-name>
:设置容器名称--network <network-name>
:指定容器所在的网络-d
:以守护进程方式运行容器--restart=always
:容器在退出后自动重启-m <memory>
:限制容器可使用的内存--log-driver <driver-name>
:指定容器日志驱动
例如,要在Docker中运行RabbitMQ容器并将主机端口5672映射到容器端口5672,可以使用以下命令:
docker run -p 5672:5672 rabbitmq
要设置RabbitMQ容器的环境变量,可以使用以下命令:
docker run -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=password rabbitmq
要挂载主机目录到RabbitMQ容器的/var/lib/rabbitmq目录,可以使用以下命令:
docker run -v /path/to/host/directory:/var/lib/rabbitmq rabbitmq
启动成功:
输入命令
下面方便复制:
docker ps
如果装在Centos里面的Docker
RabbitMQ访问RabbitMQ Management
要注意访问 http://虚拟机网卡地址:15672
找了很多文章都说是localhost的15672端口,最后想了一下docker对应的本地地址应该是它对应网卡的地址
通常情况下,RabbitMQ的管理界面默认运行在本地的15672端口。如果你是在Docker容器中运行RabbitMQ,你需要使用容器的IP地址或者它对应网卡的地址来访问管理界面。使用
docker inspect rabbitmq
命令来查找容器的IP地址,然后使用该地址加上15672端口来访问管理界面。
补充知识:
一些常用的docker run
参数:
-d
:将容器以后台方式运行;-it
:以交互式方式启动容器,并分配一个伪终端;--name
:指定容器的名称;-p
:指定容器的端口映射,格式为主机端口:容器端口
;-v
:指定容器的数据卷映射,格式为主机路径:容器路径
;--restart
:指定容器的重启策略;--network
:指定容器的网络模式;--env
或-e
:设置容器的环境变量;--detach-keys
:指定以哪个键来释放附加的会话;--rm
:容器退出后自动删除容器。
BUG列表:
Unable to find image 'hello-world:latest' locally
Unable to find image 'hello-world:latest' locally Trying to pull repository docker.io/library/hello-world ... /usr/bin/docker-current: missing signature key. See '/usr/bin/docker-current run --help'.
解决Unable to find image 'hello-world:latest' loca问题 - 知乎
WARNING: IPv4 forwarding is disabled. Networking will not work.
docker警告:WARNING: IPv4 forwarding is disabled. Networking will not work.
docker警告:WARNING: IPv4 forwarding is disabled. Networking will not work.-CSDN博客