基于Ubuntu
- 下载docker:
sudo apt-get install docker.io
- 给予你自己使用docker的权限:
sudo chmod o+wr /var/run/docker.sock
- 查找rabbmit镜像:
docker search rabbitmq
你会看到:
docker search rabbitmq
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
rabbitmq RabbitMQ is an open source multi-protocol ... 1801 [OK]
tutum/rabbitmq Base docker image to run a RabbitMQ server 15
frodenas/rabbitmq A Docker Image for RabbitMQ 12 [OK]
bitnami/rabbitmq Bitnami Docker Image for RabbitMQ 9 [OK]
...
- 下载rabbitmq镜像:
docker pull rabbitmq
- 查看自己本地已经下载好的镜像:
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
rabbitmq latest b17bd9d70e8b 9 days ago 127 MB
- 运行rabbitmq镜像:
docker run --name rabbitmq -d -p 4369:4369 rabbitmq
- 查看自己已经运行的镜像:
docker ps
- 你可能会遇到如下的warning:
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.27/containers/json: dial unix /var/run/docker.sock: connect: permission denied
默认情况下,docker命令会使用Unix socket与 Docker引擎通信.而只有root和docker组的用户才可以访问 Docker 引擎和 Unix socket. 处于安全考虑,一般Linux系统上不会直接使用root用户.因此更好的做法是将使用docker的用户加入 docker 用户组.
- 建立 docker 用户组
sudo groupadd docker
- 将当前用户加入 docker 用户组
sudo usermod -aG docker $USER
-
你会遇到当你再次开启电脑之后,运行 'docker ps' 的时候,看不到运行的容器, 请运行 'docker ps -a',这是你会看到你的容器,你会看到你之前运行的那个容器的status是Exit状态.
你可以:
docker restart CONTAINER-ID
你也可以:
docker run -d --restart=always --name my-rabbitmq -p 4369:4369 -p 5671:5671 -p 5672:5672 -p 25672:25672 rabbitmq
-
其次在使用rabbitmq的时候,填写的host不在是localhost,而是通过 docker inspect CONTAINER-ID 中的 IP Address.
额外说一句: 当你渐渐熟悉了docker,你会慢慢爱上它,会觉得它非常方便.