建立基礎的Dockerfile

建立基礎的Dockerfile

FROM ubuntu:xenial
MAINTAINER kawsing <kawsing@gmail.com>
#有基本中文環境,ssh與tftp與rsyslog
RUN echo "deb http://tw.archive.ubuntu.com/ubuntu/ xenial main\n\
deb http://tw.archive.ubuntu.com/ubuntu/ xenial multiverse\n\
deb http://tw.archive.ubuntu.com/ubuntu/ xenial universe\n\
deb http://tw.archive.ubuntu.com/ubuntu/ xenial restricted\n\
"> /etc/apt/sources.list
RUN apt-get update && apt-get install -y ssh bash-completion \
 language-pack-zh-hant fonts-droid-fallback \
 net-tools openssl ssl-cert \
 tftp-hpa tftpd-hpa apache2 libapache2-mod-php \
 mysql-server php-mysql pwgen php-apcu php-mcrypt rsyslog \
 python-imaging python-pip python-setuptools \
 && apt-get autoclean \
 && apt-get autoremove \
 && rm -rf /var/lib/apt/lists/*
# Configure locales and timezone
RUN locale-gen en_US.UTF-8 en_GB.UTF-8 zh_TW.UTF-8
RUN cp /usr/share/zoneinfo/Asia/Taipei /etc/localtime
RUN echo "Asia/Taipei" > /etc/timezone

# Supervisor config
RUN mkdir /var/log/supervisor
RUN pip install supervisor
COPY supervisord.conf /etc/supervisord.conf

RUN make-ssl-cert generate-default-snakeoil --force-overwrite
RUN mkdir /var/run/sshd
RUN mkdir /opt/tftpdata
RUN echo "TFTP_USERNAME='tftp'\n\
TFTP_DIRECTORY='/opt/tftpdata'\n\
TFTP_ADDRESS='[::]:69'\n\
TFTP_OPTIONS='--secure -c -vvvv'\n\
">  /etc/default/tftpd-hpa
RUN chown -R tftp /opt/tftpdata
#建立密碼
RUN echo 'root:password' | chpasswd
RUN sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
# Startup script
COPY start.sh /opt/start.sh
RUN chmod 755 /opt/start.sh
COPY ./rsyslog.conf /etc/rsyslog.conf
NV NOTVISIBLE "in users profile"
RUN echo "export VISIBLE=now" >> /etc/profile

EXPOSE 22
EXPOSE 80
EXPOSE 443
EXPOSE 3306
ENTRYPOINT ["/opt/start.sh"]

supervisord.conf

rsyslog.conf

start.sh

Last updated

Was this helpful?