我正在尝试创建一个Dockerfile。我是新来的Docker。我创建了这个Dockerfile,它将在一个实例中启动rabbitmq,ftp服务器和elasticsearch服务器。我创建了这样的文件:我应该如何创建一个Dockerfile来在一个实例中运行多个服务?
# Pull base image
FROM alpine:latest
MAINTAINER Harshit Prasad
# define commonly used JAVA_HOME variable
ENV JAVA_HOME /usr/lib/jvm/java-8-oracle
# Expose the web interface ports
# 2121: ftp, a FTP server to be used for mass data/file storage
# 5672: rabbitmq, a rabbitmq message queue server to be used for global messages, queues and stacks
# 9300: elastic, an elasticsearch server or main cluster address for global database storage
EXPOSE 2121 5672 9300
# install Java
RUN \
echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | debconf-set-selections && \
add-apt-repository -y ppa:webupd8team/java && \
apt-get update && \
apt-get install -y oracle-java8-installer && \
rm -rf /var/lib/apt/lists/* && \
rm -rf /var/cache/oracle-jdk8-installer
# install apache ftp server 1.1.0
RUN wget http://www-eu.apache.org/dist/mina/ftpserver/1.1.0/dist/apache-ftpserver-1.1.0.tar.gz
RUN tar xfz apache-ftpserver-1.1.0.tar.gz
# run ftp server
RUN cd apache-ftpserver-1.1.0 bin/ftpd.sh res/conf/ftpd-typical.xml
# install RabbitMQ server
RUN wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-generic-unix-3.6.6.tar.xz
RUN tar xf rabbitmq-server-generic-unix-3.6.6.tar.xz
# run the RabbitMQ server
RUN cd rabbitmq_server-3.6.6/sbin/rabbitmq-server
# install the management plugin to be able to use a web interface
RUN cd rabbitmq_server-3.6.6/sbin/rabbitmq-plugins enable rabbitmq_management
# install erlang programming language. RabbitMQ is written in erlang.
RUN apt-get install erlang
# elasticsearch service here
# set current working directory to yacy_grid_mcp
RUN git clone https://github.com/yacy/yacy_grid_mcp.git
WORKDIR /yacy_grid_mcp
我想知道我是否正确创建Dockerfile。如果有人能帮助我,这将是非常棒的。另外请让我知道我应该如何着手添加elasticsearch服务。提前致谢!
感谢您的回答。你能帮我提供代码吗?以便我能更好地理解它。我对这件事很陌生。 :) –