GUACAMOLE-407: Update Docker image to use more recent packages by switching to Ubuntu.
This commit is contained in:
parent
3516704b82
commit
72638aa03e
121
Dockerfile
121
Dockerfile
@ -22,9 +22,9 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
# Use CentOS as base for the build
|
# Use Ubuntu as base for the build
|
||||||
ARG CENTOS_VERSION=centos7
|
ARG UBUNTU_VERSION=xenial
|
||||||
FROM centos:${CENTOS_VERSION} AS builder
|
FROM ubuntu:${UBUNTU_VERSION} AS builder
|
||||||
|
|
||||||
# Base directory for installed build artifacts.
|
# Base directory for installed build artifacts.
|
||||||
# Due to limitations of the Docker image build process, this value is
|
# Due to limitations of the Docker image build process, this value is
|
||||||
@ -37,29 +37,28 @@ ARG BUILD_DIR=/tmp/guacd-docker-BUILD
|
|||||||
ARG BUILD_DEPENDENCIES=" \
|
ARG BUILD_DEPENDENCIES=" \
|
||||||
autoconf \
|
autoconf \
|
||||||
automake \
|
automake \
|
||||||
cairo-devel \
|
|
||||||
freerdp-devel \
|
|
||||||
gcc \
|
gcc \
|
||||||
libjpeg-turbo-devel \
|
libcairo2-dev \
|
||||||
libssh2-devel \
|
libfreerdp-dev \
|
||||||
|
libjpeg-turbo8-dev \
|
||||||
|
libossp-uuid-dev \
|
||||||
|
libpango1.0-dev \
|
||||||
|
libpulse-dev \
|
||||||
|
libssh2-1-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libtelnet-dev \
|
||||||
libtool \
|
libtool \
|
||||||
libtelnet-devel \
|
libvncserver-dev \
|
||||||
libvorbis-devel \
|
libwebp-dev \
|
||||||
libvncserver-devel \
|
make"
|
||||||
libwebp-devel \
|
|
||||||
make \
|
|
||||||
pango-devel \
|
|
||||||
pulseaudio-libs-devel \
|
|
||||||
uuid-devel"
|
|
||||||
|
|
||||||
# Build time environment
|
# Build time environment
|
||||||
ENV LC_ALL=en_US.UTF-8
|
ENV LC_ALL=en_US.UTF-8
|
||||||
|
|
||||||
# Bring build environment up to date and install build dependencies
|
# Bring build environment up to date and install build dependencies
|
||||||
RUN yum -y update && \
|
RUN apt-get update && \
|
||||||
yum -y install epel-release && \
|
apt-get install -y $BUILD_DEPENDENCIES && \
|
||||||
yum -y install $BUILD_DEPENDENCIES && \
|
rm -rf /var/lib/apt/lists/*
|
||||||
yum clean all
|
|
||||||
|
|
||||||
# Add configuration scripts
|
# Add configuration scripts
|
||||||
COPY src/guacd-docker/bin /opt/guacd/bin/
|
COPY src/guacd-docker/bin /opt/guacd/bin/
|
||||||
@ -70,8 +69,8 @@ COPY . "$BUILD_DIR"
|
|||||||
# Build guacamole-server from local source
|
# Build guacamole-server from local source
|
||||||
RUN /opt/guacd/bin/build-guacd.sh "$BUILD_DIR" "$PREFIX_DIR"
|
RUN /opt/guacd/bin/build-guacd.sh "$BUILD_DIR" "$PREFIX_DIR"
|
||||||
|
|
||||||
# Use same CentOS as the base for the runtime image
|
# Use same Ubuntu as the base for the runtime image
|
||||||
FROM centos:${CENTOS_VERSION}
|
FROM ubuntu:${UBUNTU_VERSION}
|
||||||
|
|
||||||
# Base directory for installed build artifacts.
|
# Base directory for installed build artifacts.
|
||||||
# Due to limitations of the Docker image build process, this value is
|
# Due to limitations of the Docker image build process, this value is
|
||||||
@ -85,36 +84,74 @@ ENV LC_ALL=en_US.UTF-8
|
|||||||
ENV GUACD_LOG_LEVEL=info
|
ENV GUACD_LOG_LEVEL=info
|
||||||
|
|
||||||
ARG RUNTIME_DEPENDENCIES=" \
|
ARG RUNTIME_DEPENDENCIES=" \
|
||||||
cairo \
|
|
||||||
dejavu-sans-mono-fonts \
|
|
||||||
freerdp \
|
|
||||||
freerdp-plugins \
|
|
||||||
ghostscript \
|
ghostscript \
|
||||||
libjpeg-turbo \
|
libcairo2 \
|
||||||
libssh2 \
|
fonts-liberation \
|
||||||
liberation-mono-fonts \
|
fonts-dejavu \
|
||||||
libtelnet \
|
libfreerdp-cache1.1 \
|
||||||
libvorbis \
|
libfreerdp-client1.1 \
|
||||||
libvncserver \
|
libfreerdp-codec1.1 \
|
||||||
libwebp \
|
libfreerdp-common1.1.0 \
|
||||||
pango \
|
libfreerdp-core1.1 \
|
||||||
pulseaudio-libs \
|
libfreerdp-crypto1.1 \
|
||||||
terminus-fonts \
|
libfreerdp-gdi1.1 \
|
||||||
uuid"
|
libfreerdp-locale1.1 \
|
||||||
|
libfreerdp-plugins-standard \
|
||||||
|
libfreerdp-primitives1.1 \
|
||||||
|
libfreerdp-rail1.1 \
|
||||||
|
libfreerdp-utils1.1 \
|
||||||
|
libjpeg-turbo8 \
|
||||||
|
libossp-uuid16 \
|
||||||
|
libpango1.0 \
|
||||||
|
libpulse0 \
|
||||||
|
libssh2-1 \
|
||||||
|
libssl1.0.0 \
|
||||||
|
libtelnet2 \
|
||||||
|
libvncclient1 \
|
||||||
|
libwebp5 \
|
||||||
|
libwinpr-asn1-0.1 \
|
||||||
|
libwinpr-bcrypt0.1 \
|
||||||
|
libwinpr-credentials0.1 \
|
||||||
|
libwinpr-credui0.1 \
|
||||||
|
libwinpr-crt0.1 \
|
||||||
|
libwinpr-crypto0.1 \
|
||||||
|
libwinpr-dsparse0.1 \
|
||||||
|
libwinpr-environment0.1 \
|
||||||
|
libwinpr-error0.1 \
|
||||||
|
libwinpr-file0.1 \
|
||||||
|
libwinpr-handle0.1 \
|
||||||
|
libwinpr-heap0.1 \
|
||||||
|
libwinpr-input0.1 \
|
||||||
|
libwinpr-interlocked0.1 \
|
||||||
|
libwinpr-io0.1 \
|
||||||
|
libwinpr-library0.1 \
|
||||||
|
libwinpr-path0.1 \
|
||||||
|
libwinpr-pipe0.1 \
|
||||||
|
libwinpr-pool0.1 \
|
||||||
|
libwinpr-registry0.1 \
|
||||||
|
libwinpr-rpc0.1 \
|
||||||
|
libwinpr-sspi0.1 \
|
||||||
|
libwinpr-sspicli0.1 \
|
||||||
|
libwinpr-synch0.1 \
|
||||||
|
libwinpr-sysinfo0.1 \
|
||||||
|
libwinpr-thread0.1 \
|
||||||
|
libwinpr-timezone0.1 \
|
||||||
|
libwinpr-utils0.1 \
|
||||||
|
libwinpr-winhttp0.1 \
|
||||||
|
libwinpr-winsock0.1 \
|
||||||
|
xfonts-terminus"
|
||||||
|
|
||||||
# Bring runtime environment up to date and install runtime dependencies
|
# Bring runtime environment up to date and install runtime dependencies
|
||||||
RUN yum -y update && \
|
RUN apt-get update && \
|
||||||
yum -y install epel-release && \
|
apt-get install -y $RUNTIME_DEPENDENCIES && \
|
||||||
yum -y install $RUNTIME_DEPENDENCIES && \
|
rm -rf /var/lib/apt/lists/*
|
||||||
yum clean all && \
|
|
||||||
rm -rf /var/cache/yum
|
|
||||||
|
|
||||||
# Copy build artifacts into this stage
|
# Copy build artifacts into this stage
|
||||||
COPY --from=builder ${PREFIX_DIR} ${PREFIX_DIR}
|
COPY --from=builder ${PREFIX_DIR} ${PREFIX_DIR}
|
||||||
|
|
||||||
# Link FreeRDP plugins into proper path
|
# Link FreeRDP plugins into proper path
|
||||||
RUN FREERDP_DIR=$(dirname \
|
RUN FREERDP_DIR=$(dirname \
|
||||||
$(rpm -ql freerdp-libs | grep 'libfreerdp.*\.so' | head -n1)) && \
|
$(dpkg-query -L libfreerdp | grep 'libfreerdp.*\.so' | head -n1)) && \
|
||||||
FREERDP_PLUGIN_DIR="${FREERDP_DIR}/freerdp" && \
|
FREERDP_PLUGIN_DIR="${FREERDP_DIR}/freerdp" && \
|
||||||
mkdir -p "$FREERDP_PLUGIN_DIR" && \
|
mkdir -p "$FREERDP_PLUGIN_DIR" && \
|
||||||
ln -s "$PREFIX_DIR"/lib/freerdp/*.so "$FREERDP_PLUGIN_DIR"
|
ln -s "$PREFIX_DIR"/lib/freerdp/*.so "$FREERDP_PLUGIN_DIR"
|
||||||
|
Loading…
Reference in New Issue
Block a user