編寫腳本:
wget https://github.com/cloudera/hue/archive/release-4.6.0.zip
unzip release-4.6.0.zip
cat > hue-release-4.6.0/Dockerfile << EOF
FROM ubuntu:18.04
LABEL description="Hue SQL Assistant - gethue.com"
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update -y && apt-get install -y \
build-essential \
libkrb5-dev \
libmysqlclient-dev \
libssl-dev \
libsasl2-dev \
libsasl2-modules-gssapi-mit \
libsqlite3-dev \
libtidy-dev \
libxml2-dev \
libxslt-dev \
libffi-dev \
libldap2-dev \
libpq-dev \
python-dev \
python-setuptools \
libgmp3-dev \
libz-dev \
software-properties-common \
curl \
git \
rsync \
sudo \
maven \
gcc \
swig \
xmlsec1 \
libxmlsec1-openssl \
krb5-config \
krb5-user \
&& rm -rf /var/lib/apt/lists/*
ADD . /hue
WORKDIR /hue
# Not doing a `make prod`, so manually getting production ini
RUN rm desktop/conf/*
COPY desktop/conf.dist desktop/conf
# Need recent version for Ubuntu
RUN curl -sL https://deb.nodesource.com/setup_10.x | sudo bash - \
&& apt-get install -y nodejs
RUN PREFIX=/usr/share make install
RUN useradd -ms /bin/bash hue && chown -R hue /usr/share/hue
# Only keep install dir
# Note: get more minimal image by pulling install dir in a stage 2 image
WORKDIR /usr/share/hue
RUN rm -rf /hue \
&& rm -rf node_modules
# Install DB connectors
RUN ./build/env/bin/pip install \
psycopg2-binary \
redis==2.10.6 \
django_redis \
flower \
pyhive \
gevent \
threadloop \
thrift-sasl==0.2.1
COPY tools/docker/hue/conf desktop/conf
COPY tools/docker/hue/startup.sh .
EXPOSE 8888
CMD ["./startup.sh"]
EOF
cd hue-release-4.6.0
docker build . -t hue:4.6.0
保存後,執行改腳本,即可完成hue的docker鏡像打包