Appendix A - dockerfile_zixi_feeder.txt
# Get CentOS 7 Docker image
FROM centos:7
# Variables – EDIT ME WITH PROPER VERSION
ENV zixiversion 13.1.38648
# Copy Zixi installer to new image and extract files
COPY zixi_feeder-linux64- ${zixiversion}.tar.gz .
RUN tar -xvf zixi_feeder-linux64- ${zixiversion}.tar.gz
# Copy files to proper folder
RUN cp /zixi_feeder-linux64/scripts/centos7/* /zixi_feeder-linux64/
# Create link to executable with no version for ENTRYPOINT command
RUN ln -s /zixi_feeder-linux64/zixi_feeder-${zixiversion} /zixi_feeder-linux64/zixi_feeder
# Install necessary Linux packages
RUN yum update -y
RUN yum install -y net-tools net-snmp-utils iproute ethtool ntp initscripts
# Informs Docker that the container listens on the specified ports
# These are relevant ports for Feeder but some may not be necessary depending on use case
# Ports that will be used need to published upon running the image for bridged mode
# Some other ports may need to be added for RTP/UDP streams.
# Web management UI, HTTP protocol
EXPOSE 4200/TCP
# Encoder push to Feeder, RTMP protocol
EXPOSE 1935/TCP
# Sample port range for UDP input to Feeder, application dependent
EXPOSE 10000-20000/UDP
# Sample port range for web management UI, application dependent
EXPOSE 20000-29999/TCP
# Preinstall a config file which sets logs to be stored at zixi_feeder-linux64/logs
# and sets the port for the web UI
# Other settings for default behavior could be added to the config file as well
COPY feeder-config-template.xml zixi_feeder-linux64/feeder-config.xml
# Create logs folder
WORKDIR /zixi_feeder-linux64/logs
# Set final working directory
WORKDIR /zixi_feeder-linux64
# Set the executable to start when the container is run
ENTRYPOINT ["./zixi_feeeder", "--no-daemon"]