This repository has been archived by the owner on Jun 9, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 75
/
Dockerfile.CLAI
136 lines (112 loc) · 5.59 KB
/
Dockerfile.CLAI
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
FROM centos/systemd
ARG jenkinsbuild=false
################################################################
# Licensed Materials - Property of IBM
# "Restricted Materials of IBM"
# (C) Copyright IBM Corp. 2019 ALL RIGHTS RESERVED
################################################################
##############################################################################
# A docker container for a add a plugin in bash shell that uses machine learning
# to enhance the command line experience.
##############################################################################
############################################################################
# Set up an MOTD: Note this uses a heredoc expression...
############################################################################
RUN echo '[ ! -z "$TERM" -a -r /etc/motd ] && cat /etc/issue && cat /etc/motd' \
>> /etc/bash.bashrc \
; echo -e "\
\n\
_____ _ _____ \n\
/ ____| | | /\ |_ _| \n\
| | | | / \ | | \n\
| | | | / /\ \ | | \n\
| |____ | |____ / ____ \ _| |_ \n\
\_____| |______| /_/ \_\ |_____| \n\
\n\
"\
> /etc/motd
#############################################################################
# START of block that enables SSH access #
#############################################################################
# Install the SSH Daemon ....
RUN yum install -y install deltarpm \
&& yum update -y \
&& yum install -y \
openssh-server \
openssh-clients
RUN mkdir /var/run/sshd \
&& echo 'root:Bashpass' | chpasswd
# SSH login fix. Otherwise user is kicked off after login
RUN echo "PermitRootLogin yes" >> /etc/ssh/sshd_config \
&& ssh-keygen -f ~/.ssh/id_rsa -t rsa -N '' \
# Generate the host keys...
&& /usr/bin/ssh-keygen -A
#RUN yum install -y policycoreutils-python
#RUN semanage fcontext -a -t sshd_key_t "/usr/local/etc/ssh/ssh_host.*_key"
#RUN semanage fcontext -a -t sshd_key_t "/usr/local/etc/ssh/ssh_host.*_key\.pub"
#RUN restorecon -Rv /usr/local/lib/ssh
# Allow port 22 to be opened...
EXPOSE 22
#############################################################################
# END of block that enables SSH access #
#############################################################################
#############################################################################
# INSTALL PYTHON 3 #
#############################################################################
RUN yum install -y \
sudo \
which
# CentOS legacy rpm links deprecated: https://github.com/iusrepo/announce/issues/18
# RUN sudo yum install -y https://centos7.iuscommunity.org/ius-release.rpm \
RUN sudo yum install -y https://repo.ius.io/ius-release-el7.rpm \
&& sudo yum -y update \
&& sudo yum install -y \
python36u \
python36u-libs \
gcc \
python36u-devel \
python36u-pip \
&& ln -sf /usr/bin/python3.6 /usr/bin/python3
#############################################################################
# INSTALL FSWATCH #
#############################################################################
RUN yum group install -y 'Development Tools' \
&& sudo yum install -y wget
RUN wget https://github.com/emcrisostomo/fswatch/releases/download/1.9.3/fswatch-1.9.3.tar.gz \
&& tar -xvzf fswatch-1.9.3.tar.gz
WORKDIR /fswatch-1.9.3
RUN ./configure \
&& make \
&& sudo make install \
&& sudo ldconfig
#############################################################################
# INSTALL LSOF #
#############################################################################
RUN yum -y install lsof
#############################################################################
# INSTALL THE SHELL #
#############################################################################
RUN mkdir -p /opt/IBM/clai/
WORKDIR /opt/IBM/clai/
ADD . .
RUN if [ "$jenkinsbuild" = "true" ] ; then \
sudo pip3 install -r requirements.txt -r requirements_test.txt ; \
else \
sudo pip3 install -r requirements.txt ; \
fi \
&& sudo python3 install.py --unassisted --shell bash
#############################################################################
# END Install the shell #
#############################################################################
#############################################################################
# UPDATE LOCALE #
#############################################################################
RUN echo "export LC_ALL='en_US.utf8'" >> /root/.bashrc
##############################################################
# Finally we provide the command to start DiamondPoint at boot
# and allow interactive access to the container with bash
##############################################################
# The CMD is the default command run when the docker container is started.
# We need to use 'basename' to determine the full jar filename since it is
# generated with a different timestamp every time we build
# CMD ["sudo setenforce 0 && /usr/sbin/sshd", "-D"]