无法在我的停靠容器中启动rabbitmq-server。
这是我的Dockerfile
# python official docker image, I have check that it is base on the debain jessie
# The first line of python:2.7 Dockerfile is "FROM buildpack-deps:jessie"
FROM python:2.7
# The rabbitmq-server install commands are as follow
# I am sure that if I execute those commands in a Debain Jessie Server
# The rabbitmq-server will be installed successfully and connectable
# But in the docker, it does not works
RUN echo 'deb http://www.rabbitmq.com/debian/ testing main' > /etc/apt/sources.list.d/rabbitmq.list
RUN wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | apt-key add -
RUN apt-get update && apt-get install -y --no-install-recommends rabbitmq-server && rm -rf /var/lib/apt/lists/*
RUN service rabbitmq-server restart
RUN service rabbitmq-server status
# A lot of other things about deploy my project
# A lot of other things about deploy my project
# A lot of other things about deploy my project
CMD ["xxx", "xxxx"]下面是构建Dockerfile中的一些输出
Step 4/6 : RUN apt-get ......
...
...
Adding system user `rabbitmq' (UID 105) ...
Adding new user `rabbitmq' (UID 105) with group `rabbitmq' ...
Not creating home directory `/var/lib/rabbitmq'.
invoke-rc.d: policy-rc.d denied execution of start.
Processing triggers for systemd (215-17+deb8u6) ...
Processing triggers for libc-bin (2.19-18+deb8u7) ...
---> 35eb870defca
Removing intermediate container c2aa80f72a12Step 5/6 : RUN service rabbitmq-server restart
---> Running in cff316499bf0
Restarting message broker: rabbitmq-server.Step 6/6 : RUN service rabbitmq-server status
---> Running in 2c03f8721cf8
Status of node rabbit@607924cbbc93 ...
Error: unable to connect to node rabbit@607924cbbc93: nodedown
DIAGNOSTICS
===========
attempted to contact: [rabbit@607924cbbc93]
rabbit@607924cbbc93:
* connected to epmd (port 4369) on 607924cbbc93
* epmd reports: node 'rabbit' not running at all
no other nodes on 607924cbbc93
* suggestion: start the node
current node details:
- node name: 'rabbitmq-cli-30@607924cbbc93'
- home dir: /var/lib/rabbitmq
- cookie hash: nK/d5I704NfDDEZdnP6xPg==
The command '/bin/sh -c service rabbitmq-server status' returned a non-zero code: 3问题在哪里,如何解决?
我很困惑,因为安装命令是正确的,它们在debain vps中工作得很好。
但是,它们在码头集装箱中不能很好地工作。
我的目的是让我的python在这个容器中连接rabbitmq服务器,就在这个容器中。它不需要从这个容器中连接。
以下是关于这个问题的一些猜测
发布于 2017-05-02 10:10:03
因此,正如我们在评论中所讨论的,我建议你使用官方的对接图像来处理兔子。因此,您将以两个容器结束.在这种情况下: app和兔子。下面是Dockerfile和docker-Compose.yml的一个示例:
Dockerfile:
# use base python image with python 2.7
FROM python:2.7
# add requirements.txt to the image
ADD requirements.txt /app/requirements.txt
# set working directory to /app/
WORKDIR /app/
# install python dependencies
RUN apt-get update
RUN apt-get -y install libpq-dev python-dev
RUN pip install -r requirements.txt以及docker-Compose.yml的例子:
version: '2'
services:
# RabbitMQ
rabbit:
hostname: rabbit
image: rabbitmq:3.6.1-management
ports:
- "5672:5672" # we forward this port because it's useful for debugging
- "15672:15672" # here, we can access rabbitmq management plugin
# App
app:
build:
context: .
dockerfile: Dockerfile
hostname: app
volumes:
- .:/app # mount current directory inside container
ports:
- "8000:8000"
# set up links so that web knows about db and redis
links:
- rabbit要启动新容器,请使用docker-compose build && docker-compose up -d
https://stackoverflow.com/questions/43734169
复制相似问题