File: docker-setup.sh

package info (click to toggle)
glgrib 1.0-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,861,476 kB
  • sloc: cpp: 20,811; ansic: 6,530; perl: 2,902; sh: 513; makefile: 147; python: 58; sql: 18
file content (66 lines) | stat: -rwxr-xr-x 1,207 bytes parent folder | download | duplicates (2)
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
#!/bin/bash


set -x
set -e

UBUNTU=22.04
VERSION=1.0-1

if [ 1 -eq 1 ]
then
sudo docker pull ubuntu:$UBUNTU

SSHKEY=$(cat $HOME/.ssh/id_rsa.pub)

cat > glgrib.sh << EOF
#!/bin/bash

set -x
set -e

dir=\$(dirname \$0)

cd \$dir

apt-get -y update 
apt-get -y dist-upgrade
apt-get -y install ssh

echo 'X11UseLocalhost no' >> /etc/ssh/sshd_config

service ssh start

useradd $USER
chsh -s /bin/bash $USER
mkdir -p /home/$USER/.ssh
chown -R $USER:users /home/$USER

cat > $HOME/.ssh/authorized_keys << EOC
$SSHKEY
EOC

chmod 600 $HOME/.ssh/authorized_keys
chown $USER:users $HOME/.ssh/authorized_keys

apt-get -y install ./$UBUNTU/glgrib_${VERSION}_amd64.deb
apt-get -y install ./$UBUNTU/glgrib-data_${VERSION}_amd64.deb
apt-get -y install ./$UBUNTU/glgrib-perl_${VERSION}_amd64.deb

ldd /usr/bin/glgrib

EOF

chmod +x glgrib.sh

sudo docker run -t -d --name ubuntu_glgrib \
  --mount type=bind,src=$PWD/,dst=/root/glgrib,readonly=true \
  ubuntu:$UBUNTU

sudo docker exec ubuntu_glgrib /root/glgrib/glgrib.sh

IP=$(sudo docker inspect -f "{{ .NetworkSettings.IPAddress }}" ubuntu_glgrib)
ssh-keygen -f "$HOME/.ssh/known_hosts" -R $IP
ssh -o StrictHostKeyChecking=no -X $IP /usr/bin/glgrib --landscape.on

fi