Docker Community Forums

Share and learn in the Docker community.

Some challenges with docker, systemd, expect and xterm

Hi @all,

I try to build a docker container with a software called Igel Universal Management Suite.
It’s there to Manage Thin Clients in a VDI Environment.
First of all I’m not the best in Linux and I’m pretty new to docker so have been patient with me please.

What I wanna do:
Create a Dockerfile which is there to build a image that is staring a ubuntu and installing the application.bin which is downloaded before with wget. I tried to use a expect script to make the installation unattended but I failed. There is a smart guy fordboy0/igelums6-installed out there how make such a container but there are two problems.

  1. I don’t know how to contact him
  2. His image is not up to date

What I could reverse Engineer so fare:

FROM ubuntu:18.04
RUN /bin/sh -c set -xe          \
&& echo '#!/bin/sh' > /usr/sbin/policy-rc.d         \
&& echo 'exit 101' >> /usr/sbin/policy-rc.d         \
&& chmod +x /usr/sbin/policy-rc.d           \
&& dpkg-divert --local --rename --add /sbin/initctl         \
&& cp -a /usr/sbin/policy-rc.d /sbin/initctl        \
&& sed -i 's/^exit.*/exit 0/' /sbin/initctl                 \
&& echo 'force-unsafe-io' > /etc/dpkg/dpkg.cfg.d/docker-apt-speedup                 \
&& echo 'DPkg::Post-Invoke { "rm -f /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin || true"; };' > /etc/apt/apt.conf.d/docker-clean       \
&& echo 'APT::Update::Post-Invoke { "rm -f /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin || true"; };' >> /etc/apt/apt.conf.d/docker-clean       \
&& echo 'Dir::Cache::pkgcache ""; Dir::Cache::srcpkgcache "";' >> /etc/apt/apt.conf.d/docker-clean          \
&& echo 'Acquire::Languages "none";' > /etc/apt/apt.conf.d/docker-no-languages              \
&& echo 'Acquire::GzipIndexes "true"; Acquire::CompressionTypes::Order:: "gz";' > /etc/apt/apt.conf.d/docker-gzip-indexes           \
&& echo 'Apt::AutoRemove::SuggestsImportant "false";' > /etc/apt/apt.conf.d/docker-autoremove-suggests
RUN rm -rf /var/lib/apt/lists/*
RUN mkdir -p /run/systemd \
&& echo 'docker' > /run/systemd/container
CMD ["/bin/bash"]
RUN apt-get update \
&& apt-get -y upgrade
RUN apt-get -y install apt-utils dialog
RUN apt-get -y install icedtea-8-plugin xserver-xorg vim wget libqt5core5a openssh-server diffutils
RUN apt-get -y install patch sudo xterm systemd
RUN wget -O /root/setup-igel-ums-linux.bin
COPY ./UMS/sshd_config.patch /root
EXPOSE 22 8443 9080 30001 30002
RUN useradd -m -s/bin/bash -G staff,users,sudo Igel
RUN /bin/echo -e "Igel2020\nIgel2020" | passwd Igel
  • Container is starting
  • application is downloaded
  • expect which was create with autoexpect doesn’t work
  • manual installation failed because there is no systemd


Best regards,

That are the comments anyone likes to see.
Instead of telling what information you need.

Nice job