티스토리 뷰

728x90
반응형

본 포스팅에서는 Jupyter Package를 활용하여 별 다른 설정없이 개발환경을 제공하는 방법에 대해 살펴보도록 하겠습니다.

Jupyter Package는 다양한 사용자의 개발환경을 사전에 구성하여 누구나 손쉽게 개발환경을 구성하지 않고 URL에 접속하여 손쉽게 사용할 수 있도록 제공하는 환경입니다.

Jupyter Package를 구성하는 다양한 요소 중 본 포스팅에서는 Jupyter Notebook, JupyterLab 그리고 JupyterHub에 대해 살펴볼 예정이며, 설치 부터 사용법까지 간략하게 모두 다뤄볼 예정입니다.

JupyterHub 설치

1. git repository clone

[root@nrson ~]# git clone https://github.com/jupyterhub/the-littlest-jupyterhub.git
[root@nrson ~]# 

위와 같이 jupyterhub Docker Image를 빌드하기 위한 github project를 clone받습니다.

 

2. docker build

[root@nrson ~] cd the-littlest-jupyterhub
[root@nrson the-littlest-jupyterhub]# docker build -t tljh-systemd . -f integration-tests/Dockerfile 
Sending build context to Docker daemon  13.79MB 
Step 1/11 : FROM ubuntu:18.04 
18.04: Pulling from library/ubuntu 
7ddbc47eeb70: Pull complete 
c1bbdc448b72: Pull complete 
8c3b70e39044: Pull complete 
45d437916d57: Pull complete 
Digest: sha256:6e9f67fa63b0323e9a1e587fd71c561ba48a034504fb804fd26fd8800039835d 
Status: Downloaded newer image for ubuntu:18.04 
 ---> 775349758637 
Step 2/11 : RUN apt-get update --yes 
 ---> Running in c992720b2f51 
Get:1 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB] 
Get:2 http://archive.ubuntu.com/ubuntu bionic InRelease [242 kB] 
Get:3 http://security.ubuntu.com/ubuntu bionic-security/multiverse amd64 Packages [6508 B] 
Get:4 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages [738 kB] 
Get:5 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB] 
Get:6 http://archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB] 
Get:7 http://security.ubuntu.com/ubuntu bionic-security/restricted amd64 Packages [16.8 kB] 
Get:8 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 Packages [789 kB] 
Get:9 http://archive.ubuntu.com/ubuntu bionic/multiverse amd64 Packages [186 kB] 
Get:10 http://archive.ubuntu.com/ubuntu bionic/main amd64 Packages [1344 kB] 
Get:11 http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages [11.3 MB] 
Get:12 http://archive.ubuntu.com/ubuntu bionic/restricted amd64 Packages [13.5 kB] 
Get:13 http://archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages [1316 kB] 
Get:14 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [1034 kB] 
Get:15 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse amd64 Packages [9549 B] 
Get:16 http://archive.ubuntu.com/ubuntu bionic-updates/restricted amd64 Packages [29.9 kB] 
Get:17 http://archive.ubuntu.com/ubuntu bionic-backports/universe amd64 Packages [4235 B] 
Get:18 http://archive.ubuntu.com/ubuntu bionic-backports/main amd64 Packages [2496 B] 
Fetched 17.3 MB in 6s (2679 kB/s) 
Reading package lists... 
Removing intermediate container c992720b2f51 
 ---> 001d240dc721 
Step 3/11 : RUN apt-get install --yes systemd curl git sudo 
 ---> Running in b144e9fada25 
Reading package lists... 
Building dependency tree... 
Reading state information... 
The following additional packages will be installed: 
  ca-certificates dbus dmsetup file gir1.2-glib-2.0 git-man krb5-locales less 
  libapparmor1 libargon2-0 libasn1-8-heimdal libbsd0 libcap2 libcryptsetup12 
  libcurl3-gnutls libcurl4 libdbus-1-3 libdevmapper1.02.1 libedit2 
  liberror-perl libexpat1 libgdbm-compat4 libgdbm5 libgirepository-1.0-1 
  libglib2.0-0 libglib2.0-data libgssapi-krb5-2 libgssapi3-heimdal 
  libhcrypto4-heimdal libheimbase1-heimdal libheimntlm0-heimdal 
  libhx509-5-heimdal libicu60 libidn11 libip4tc0 libjson-c3 libk5crypto3 
  libkeyutils1 libkmod2 libkrb5-26-heimdal libkrb5-3 libkrb5support0 
  libldap-2.4-2 libldap-common libmagic-mgc libmagic1 libmpdec2 libnghttp2-14 
  libnss-systemd libpam-systemd libperl5.26 libpsl5 libpython3-stdlib 
  libpython3.6-minimal libpython3.6-stdlib libreadline7 libroken18-heimdal 
  librtmp1 libsasl2-2 libsasl2-modules libsasl2-modules-db libsqlite3-0 
  libssl1.0.0 libssl1.1 libsystemd0 libwind0-heimdal libx11-6 libx11-data 
  libxau6 libxcb1 libxdmcp6 libxext6 libxml2 libxmuu1 mime-support 
  multiarch-support netbase networkd-dispatcher openssh-client openssl patch 
  perl perl-modules-5.26 publicsuffix python3 python3-dbus python3-gi 
  python3-minimal python3.6 python3.6-minimal readline-common shared-mime-info 
  systemd-sysv xauth xdg-user-dirs xz-utils 
Suggested packages: 
  default-dbus-session-bus | dbus-session-bus gettext-base git-daemon-run 
  | git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-cvs 
  git-mediawiki git-svn gdbm-l10n krb5-doc krb5-user 
  libsasl2-modules-gssapi-mit | libsasl2-modules-gssapi-heimdal 
  libsasl2-modules-ldap libsasl2-modules-otp libsasl2-modules-sql iw 
  | wireless-tools keychain libpam-ssh monkeysphere ssh-askpass ed 
  diffutils-doc perl-doc libterm-readline-gnu-perl 
  | libterm-readline-perl-perl make python3-doc python3-tk python3-venv 
  python-dbus-doc python3-dbus-dbg python3.6-venv python3.6-doc binutils 
  binfmt-support readline-doc systemd-container policykit-1 
The following NEW packages will be installed: 
  ca-certificates curl dbus dmsetup file gir1.2-glib-2.0 git git-man 
  krb5-locales less libapparmor1 libargon2-0 libasn1-8-heimdal libbsd0 libcap2 
  libcryptsetup12 libcurl3-gnutls libcurl4 libdbus-1-3 libdevmapper1.02.1 
  libedit2 liberror-perl libexpat1 libgdbm-compat4 libgdbm5 
  libgirepository-1.0-1 libglib2.0-0 libglib2.0-data libgssapi-krb5-2 
  libgssapi3-heimdal libhcrypto4-heimdal libheimbase1-heimdal 
  libheimntlm0-heimdal libhx509-5-heimdal libicu60 libidn11 libip4tc0 
  libjson-c3 libk5crypto3 libkeyutils1 libkmod2 libkrb5-26-heimdal libkrb5-3 
  libkrb5support0 libldap-2.4-2 libldap-common libmagic-mgc libmagic1 
  libmpdec2 libnghttp2-14 libnss-systemd libpam-systemd libperl5.26 libpsl5 
  libpython3-stdlib libpython3.6-minimal libpython3.6-stdlib libreadline7 
  libroken18-heimdal librtmp1 libsasl2-2 libsasl2-modules libsasl2-modules-db 
  libsqlite3-0 libssl1.0.0 libssl1.1 libwind0-heimdal libx11-6 libx11-data 
  libxau6 libxcb1 libxdmcp6 libxext6 libxml2 libxmuu1 mime-support 
  multiarch-support netbase networkd-dispatcher openssh-client openssl patch 
  perl perl-modules-5.26 publicsuffix python3 python3-dbus python3-gi 
  python3-minimal python3.6 python3.6-minimal readline-common shared-mime-info 
  sudo systemd systemd-sysv xauth xdg-user-dirs xz-utils 
The following packages will be upgraded: 
  libsystemd0 
1 upgraded, 99 newly installed, 0 to remove and 1 not upgraded. 
Need to get 39.5 MB of archives. 
After this operation, 193 MB of additional disk space will be used. 
Get:1 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libsystemd0 amd64 237-3ubuntu10.33 [205 kB] 
Get:2 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libssl1.1 amd64 1.1.1-1ubuntu2.1~18.04.5 [1300 kB] 
Get:3 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libpython3.6-minimal amd64 3.6.9-1~18.04 [533 kB] 
Get:4 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libexpat1 amd64 2.2.5-3ubuntu0.2 [80.5 kB] 
Get:5 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 python3.6-minimal amd64 3.6.9-1~18.04 [1610 kB] 
Get:6 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 python3-minimal amd64 3.6.7-1~18.04 [23.7 kB] 
Get:7 http://archive.ubuntu.com/ubuntu bionic/main amd64 mime-support all 3.60ubuntu1 [30.1 kB] 
Get:8 http://archive.ubuntu.com/ubuntu bionic/main amd64 libmpdec2 amd64 2.4.2-1ubuntu1 [84.1 kB] 
Get:9 http://archive.ubuntu.com/ubuntu bionic/main amd64 readline-common all 7.0-3 [52.9 kB] 
Get:10 http://archive.ubuntu.com/ubuntu bionic/main amd64 libreadline7 amd64 7.0-3 [124 kB] 
Get:11 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libsqlite3-0 amd64 3.22.0-1ubuntu0.1 [497 kB] 
Get:12 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libpython3.6-stdlib amd64 3.6.9-1~18.04 [1709 kB] 
Get:13 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 python3.6 amd64 3.6.9-1~18.04 [203 kB] 
Get:14 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libpython3-stdlib amd64 3.6.7-1~18.04 [7240 B] 
Get:15 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 python3 amd64 3.6.7-1~18.04 [47.2 kB] 
Get:16 http://archive.ubuntu.com/ubuntu bionic/main amd64 libcap2 amd64 1:2.25-1.2 [13.0 kB] 
Get:17 http://archive.ubuntu.com/ubuntu bionic/main amd64 libargon2-0 amd64 0~20161029-1.1 [19.9 kB] 
Get:18 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libdevmapper1.02.1 amd64 2:1.02.145-4.1ubuntu3.18.04.1 [127 kB] 
Get:19 http://archive.ubuntu.com/ubuntu bionic/main amd64 libjson-c3 amd64 0.12.1-1.3 [21.4 kB] 
Get:20 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libcryptsetup12 amd64 2:2.0.2-1ubuntu1.1 [134 kB] 
Get:21 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libidn11 amd64 1.33-2.1ubuntu1.2 [46.6 kB] 
Get:22 http://archive.ubuntu.com/ubuntu bionic/main amd64 libip4tc0 amd64 1.6.1-2ubuntu2 [19.6 kB] 
Get:23 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libapparmor1 amd64 2.12-4ubuntu5.1 [31.3 kB] 
Get:24 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libkmod2 amd64 24-1ubuntu3.2 [40.0 kB] 
Get:25 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 systemd amd64 237-3ubuntu10.33 [2905 kB] 
Get:26 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 systemd-sysv amd64 237-3ubuntu10.33 [12.5 kB] 
Get:27 http://archive.ubuntu.com/ubuntu bionic/main amd64 multiarch-support amd64 2.27-3ubuntu1 [6916 B] 
Get:28 http://archive.ubuntu.com/ubuntu bionic/main amd64 libxau6 amd64 1:1.0.8-1 [8376 B] 
Get:29 http://archive.ubuntu.com/ubuntu bionic/main amd64 libbsd0 amd64 0.8.7-1 [41.5 kB] 
Get:30 http://archive.ubuntu.com/ubuntu bionic/main amd64 libxdmcp6 amd64 1:1.1.2-3 [10.7 kB] 
Get:31 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libxcb1 amd64 1.13-2~ubuntu18.04 [45.5 kB] 
Get:32 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libx11-data all 2:1.6.4-3ubuntu0.2 [113 kB] 
Get:33 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libx11-6 amd64 2:1.6.4-3ubuntu0.2 [569 kB] 
Get:34 http://archive.ubuntu.com/ubuntu bionic/main amd64 libxext6 amd64 2:1.3.3-1 [29.4 kB] 
Get:35 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 perl-modules-5.26 all 5.26.1-6ubuntu0.3 [2763 kB] 
Get:36 http://archive.ubuntu.com/ubuntu bionic/main amd64 libgdbm5 amd64 1.14.1-6 [26.0 kB] 
Get:37 http://archive.ubuntu.com/ubuntu bionic/main amd64 libgdbm-compat4 amd64 1.14.1-6 [6084 B] 
Get:38 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libperl5.26 amd64 5.26.1-6ubuntu0.3 [3527 kB] 
Get:39 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 perl amd64 5.26.1-6ubuntu0.3 [201 kB] 
Get:40 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 openssl amd64 1.1.1-1ubuntu2.1~18.04.5 [613 kB] 
Get:41 http://archive.ubuntu.com/ubuntu bionic/main amd64 ca-certificates all 20180409 [151 kB] 
Get:42 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libdbus-1-3 amd64 1.12.2-1ubuntu1.1 [175 kB] 
Get:43 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 dbus amd64 1.12.2-1ubuntu1.1 [150 kB] 
Get:44 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 dmsetup amd64 2:1.02.145-4.1ubuntu3.18.04.1 [74.4 kB] 
Get:45 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libmagic-mgc amd64 1:5.32-2ubuntu0.3 [184 kB] 
Get:46 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libmagic1 amd64 1:5.32-2ubuntu0.3 [68.7 kB] 
Get:47 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 file amd64 1:5.32-2ubuntu0.3 [22.1 kB] 
Get:48 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libglib2.0-0 amd64 2.56.4-0ubuntu0.18.04.4 [1169 kB] 
Get:49 http://archive.ubuntu.com/ubuntu bionic/main amd64 libgirepository-1.0-1 amd64 1.56.1-1 [82.0 kB] 
Get:50 http://archive.ubuntu.com/ubuntu bionic/main amd64 gir1.2-glib-2.0 amd64 1.56.1-1 [131 kB] 
Get:51 http://archive.ubuntu.com/ubuntu bionic/main amd64 less amd64 487-0.1 [112 kB] 
Get:52 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libglib2.0-data all 2.56.4-0ubuntu0.18.04.4 [4496 B] 
Get:53 http://archive.ubuntu.com/ubuntu bionic/main amd64 libicu60 amd64 60.2-3ubuntu3 [8054 kB] 
Get:54 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libnss-systemd amd64 237-3ubuntu10.33 [106 kB] 
Get:55 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libpam-systemd amd64 237-3ubuntu10.33 [108 kB] 
Get:56 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libxml2 amd64 2.9.4+dfsg1-6.1ubuntu1.2 [663 kB] 
Get:57 http://archive.ubuntu.com/ubuntu bionic/main amd64 netbase all 5.4 [12.7 kB] 
Get:58 http://archive.ubuntu.com/ubuntu bionic/main amd64 python3-dbus amd64 1.2.6-1 [89.9 kB] 
Get:59 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 python3-gi amd64 3.26.1-2ubuntu1 [153 kB] 
Get:60 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 networkd-dispatcher all 1.7-0ubuntu3.3 [13.3 kB] 
Get:61 http://archive.ubuntu.com/ubuntu bionic/main amd64 shared-mime-info amd64 1.9-2 [426 kB] 
Get:62 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 sudo amd64 1.8.21p2-3ubuntu1.1 [428 kB] 
Get:63 http://archive.ubuntu.com/ubuntu bionic/main amd64 xdg-user-dirs amd64 0.17-1ubuntu1 [48.0 kB] 
Get:64 http://archive.ubuntu.com/ubuntu bionic/main amd64 xz-utils amd64 5.2.2-1.3 [83.8 kB] 
Get:65 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 krb5-locales all 1.16-2ubuntu0.1 [13.5 kB] 
Get:66 http://archive.ubuntu.com/ubuntu bionic/main amd64 libedit2 amd64 3.1-20170329-1 [76.9 kB] 
Get:67 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libkrb5support0 amd64 1.16-2ubuntu0.1 [30.9 kB] 
Get:68 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libk5crypto3 amd64 1.16-2ubuntu0.1 [85.6 kB] 
Get:69 http://archive.ubuntu.com/ubuntu bionic/main amd64 libkeyutils1 amd64 1.5.9-9.2ubuntu2 [8720 B] 
Get:70 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libkrb5-3 amd64 1.16-2ubuntu0.1 [279 kB] 
Get:71 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libgssapi-krb5-2 amd64 1.16-2ubuntu0.1 [122 kB] 
Get:72 http://archive.ubuntu.com/ubuntu bionic/main amd64 libpsl5 amd64 0.19.1-5build1 [41.8 kB] 
Get:73 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libssl1.0.0 amd64 1.0.2n-1ubuntu5.3 [1088 kB] 
Get:74 http://archive.ubuntu.com/ubuntu bionic/main amd64 libxmuu1 amd64 2:1.1.2-2 [9674 B] 
Get:75 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 openssh-client amd64 1:7.6p1-4ubuntu0.3 [614 kB] 
Get:76 http://archive.ubuntu.com/ubuntu bionic/main amd64 publicsuffix all 20180223.1310-1 [97.6 kB] 
Get:77 http://archive.ubuntu.com/ubuntu bionic/main amd64 xauth amd64 1:1.0.10-1 [24.6 kB] 
Get:78 http://archive.ubuntu.com/ubuntu bionic/main amd64 libroken18-heimdal amd64 7.5.0+dfsg-1 [41.3 kB] 
Get:79 http://archive.ubuntu.com/ubuntu bionic/main amd64 libasn1-8-heimdal amd64 7.5.0+dfsg-1 [175 kB] 
Get:80 http://archive.ubuntu.com/ubuntu bionic/main amd64 libheimbase1-heimdal amd64 7.5.0+dfsg-1 [29.3 kB] 
Get:81 http://archive.ubuntu.com/ubuntu bionic/main amd64 libhcrypto4-heimdal amd64 7.5.0+dfsg-1 [85.9 kB] 
Get:82 http://archive.ubuntu.com/ubuntu bionic/main amd64 libwind0-heimdal amd64 7.5.0+dfsg-1 [47.8 kB] 
Get:83 http://archive.ubuntu.com/ubuntu bionic/main amd64 libhx509-5-heimdal amd64 7.5.0+dfsg-1 [107 kB] 
Get:84 http://archive.ubuntu.com/ubuntu bionic/main amd64 libkrb5-26-heimdal amd64 7.5.0+dfsg-1 [206 kB] 
Get:85 http://archive.ubuntu.com/ubuntu bionic/main amd64 libheimntlm0-heimdal amd64 7.5.0+dfsg-1 [14.8 kB] 
Get:86 http://archive.ubuntu.com/ubuntu bionic/main amd64 libgssapi3-heimdal amd64 7.5.0+dfsg-1 [96.5 kB] 
Get:87 http://archive.ubuntu.com/ubuntu bionic/main amd64 libsasl2-modules-db amd64 2.1.27~101-g0780600+dfsg-3ubuntu2 [14.8 kB] 
Get:88 http://archive.ubuntu.com/ubuntu bionic/main amd64 libsasl2-2 amd64 2.1.27~101-g0780600+dfsg-3ubuntu2 [49.2 kB] 
Get:89 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libldap-common all 2.4.45+dfsg-1ubuntu1.4 [16.9 kB] 
Get:90 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libldap-2.4-2 amd64 2.4.45+dfsg-1ubuntu1.4 [155 kB] 
Get:91 http://archive.ubuntu.com/ubuntu bionic/main amd64 libnghttp2-14 amd64 1.30.0-1ubuntu1 [77.8 kB] 
Get:92 http://archive.ubuntu.com/ubuntu bionic/main amd64 librtmp1 amd64 2.4+20151223.gitfa8646d.1-1 [54.2 kB] 
Get:93 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libcurl4 amd64 7.58.0-2ubuntu3.8 [214 kB] 
Get:94 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 curl amd64 7.58.0-2ubuntu3.8 [159 kB] 
Get:95 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libcurl3-gnutls amd64 7.58.0-2ubuntu3.8 [213 kB] 
Get:96 http://archive.ubuntu.com/ubuntu bionic/main amd64 liberror-perl all 0.17025-1 [22.8 kB] 
Get:97 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 git-man all 1:2.17.1-1ubuntu0.4 [803 kB] 
Get:98 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 git amd64 1:2.17.1-1ubuntu0.4 [3907 kB] 
Get:99 http://archive.ubuntu.com/ubuntu bionic/main amd64 libsasl2-modules amd64 2.1.27~101-g0780600+dfsg-3ubuntu2 [48.7 kB] 
Get:100 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 patch amd64 2.7.6-2ubuntu1.1 [102 kB] 
debconf: delaying package configuration, since apt-utils is not installed 
Fetched 39.5 MB in 18s (2175 kB/s) 
(Reading database ... 4046 files and directories currently installed.) 
Preparing to unpack .../libsystemd0_237-3ubuntu10.33_amd64.deb ... 
Unpacking libsystemd0:amd64 (237-3ubuntu10.33) over (237-3ubuntu10.31) ... 
Setting up libsystemd0:amd64 (237-3ubuntu10.33) ... 
Selecting previously unselected package libssl1.1:amd64. 
(Reading database ... 4046 files and directories currently installed.) 
Preparing to unpack .../libssl1.1_1.1.1-1ubuntu2.1~18.04.5_amd64.deb ... 
Unpacking libssl1.1:amd64 (1.1.1-1ubuntu2.1~18.04.5) ... 
Selecting previously unselected package libpython3.6-minimal:amd64. 
Preparing to unpack .../libpython3.6-minimal_3.6.9-1~18.04_amd64.deb ... 
Unpacking libpython3.6-minimal:amd64 (3.6.9-1~18.04) ... 
Selecting previously unselected package libexpat1:amd64. 
Preparing to unpack .../libexpat1_2.2.5-3ubuntu0.2_amd64.deb ... 
Unpacking libexpat1:amd64 (2.2.5-3ubuntu0.2) ... 
Selecting previously unselected package python3.6-minimal. 
Preparing to unpack .../python3.6-minimal_3.6.9-1~18.04_amd64.deb ... 
Unpacking python3.6-minimal (3.6.9-1~18.04) ... 
Setting up libssl1.1:amd64 (1.1.1-1ubuntu2.1~18.04.5) ... 
debconf: unable to initialize frontend: Dialog 
debconf: (TERM is not set, so the dialog frontend is not usable.) 
debconf: falling back to frontend: Readline 
debconf: unable to initialize frontend: Readline 
debconf: (Can't locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.26.1 /usr/local/share/perl/5.26.1 /usr/lib/x86_64-linux-gnu/perl5/5.26 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.26 /usr/share/perl/5.26 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7.) 
debconf: falling back to frontend: Teletype 
Setting up libpython3.6-minimal:amd64 (3.6.9-1~18.04) ... 
Setting up libexpat1:amd64 (2.2.5-3ubuntu0.2) ... 
Setting up python3.6-minimal (3.6.9-1~18.04) ... 
Selecting previously unselected package python3-minimal. 
(Reading database ... 4303 files and directories currently installed.) 
Preparing to unpack .../0-python3-minimal_3.6.7-1~18.04_amd64.deb ... 
Unpacking python3-minimal (3.6.7-1~18.04) ... 
Selecting previously unselected package mime-support. 
Preparing to unpack .../1-mime-support_3.60ubuntu1_all.deb ... 
Unpacking mime-support (3.60ubuntu1) ... 
Selecting previously unselected package libmpdec2:amd64. 
Preparing to unpack .../2-libmpdec2_2.4.2-1ubuntu1_amd64.deb ... 
Unpacking libmpdec2:amd64 (2.4.2-1ubuntu1) ... 
Selecting previously unselected package readline-common. 
Preparing to unpack .../3-readline-common_7.0-3_all.deb ... 
Unpacking readline-common (7.0-3) ... 
Selecting previously unselected package libreadline7:amd64. 
Preparing to unpack .../4-libreadline7_7.0-3_amd64.deb ... 
Unpacking libreadline7:amd64 (7.0-3) ... 
Selecting previously unselected package libsqlite3-0:amd64. 
Preparing to unpack .../5-libsqlite3-0_3.22.0-1ubuntu0.1_amd64.deb ... 
Unpacking libsqlite3-0:amd64 (3.22.0-1ubuntu0.1) ... 
Selecting previously unselected package libpython3.6-stdlib:amd64. 
Preparing to unpack .../6-libpython3.6-stdlib_3.6.9-1~18.04_amd64.deb ... 
Unpacking libpython3.6-stdlib:amd64 (3.6.9-1~18.04) ... 
Selecting previously unselected package python3.6. 
Preparing to unpack .../7-python3.6_3.6.9-1~18.04_amd64.deb ... 
Unpacking python3.6 (3.6.9-1~18.04) ... 
Selecting previously unselected package libpython3-stdlib:amd64. 
Preparing to unpack .../8-libpython3-stdlib_3.6.7-1~18.04_amd64.deb ... 
Unpacking libpython3-stdlib:amd64 (3.6.7-1~18.04) ... 
Setting up python3-minimal (3.6.7-1~18.04) ... 
Selecting previously unselected package python3. 
(Reading database ... 4761 files and directories currently installed.) 
Preparing to unpack .../0-python3_3.6.7-1~18.04_amd64.deb ... 
Unpacking python3 (3.6.7-1~18.04) ... 
Selecting previously unselected package libcap2:amd64. 
Preparing to unpack .../1-libcap2_1%3a2.25-1.2_amd64.deb ... 
Unpacking libcap2:amd64 (1:2.25-1.2) ... 
Selecting previously unselected package libargon2-0:amd64. 
Preparing to unpack .../2-libargon2-0_0~20161029-1.1_amd64.deb ... 
Unpacking libargon2-0:amd64 (0~20161029-1.1) ... 
Selecting previously unselected package libdevmapper1.02.1:amd64. 
Preparing to unpack .../3-libdevmapper1.02.1_2%3a1.02.145-4.1ubuntu3.18.04.1_amd64.deb ... 
Unpacking libdevmapper1.02.1:amd64 (2:1.02.145-4.1ubuntu3.18.04.1) ... 
Selecting previously unselected package libjson-c3:amd64. 
Preparing to unpack .../4-libjson-c3_0.12.1-1.3_amd64.deb ... 
Unpacking libjson-c3:amd64 (0.12.1-1.3) ... 
Selecting previously unselected package libcryptsetup12:amd64. 
Preparing to unpack .../5-libcryptsetup12_2%3a2.0.2-1ubuntu1.1_amd64.deb ... 
Unpacking libcryptsetup12:amd64 (2:2.0.2-1ubuntu1.1) ... 
Selecting previously unselected package libidn11:amd64. 
Preparing to unpack .../6-libidn11_1.33-2.1ubuntu1.2_amd64.deb ... 
Unpacking libidn11:amd64 (1.33-2.1ubuntu1.2) ... 
Selecting previously unselected package libip4tc0:amd64. 
Preparing to unpack .../7-libip4tc0_1.6.1-2ubuntu2_amd64.deb ... 
Unpacking libip4tc0:amd64 (1.6.1-2ubuntu2) ... 
Selecting previously unselected package libapparmor1:amd64. 
Preparing to unpack .../8-libapparmor1_2.12-4ubuntu5.1_amd64.deb ... 
Unpacking libapparmor1:amd64 (2.12-4ubuntu5.1) ... 
Selecting previously unselected package libkmod2:amd64. 
Preparing to unpack .../9-libkmod2_24-1ubuntu3.2_amd64.deb ... 
Unpacking libkmod2:amd64 (24-1ubuntu3.2) ... 
Setting up libcap2:amd64 (1:2.25-1.2) ... 
Setting up libargon2-0:amd64 (0~20161029-1.1) ... 
Setting up libdevmapper1.02.1:amd64 (2:1.02.145-4.1ubuntu3.18.04.1) ... 
Setting up libjson-c3:amd64 (0.12.1-1.3) ... 
Setting up libcryptsetup12:amd64 (2:2.0.2-1ubuntu1.1) ... 
Setting up libidn11:amd64 (1.33-2.1ubuntu1.2) ... 
Setting up libip4tc0:amd64 (1.6.1-2ubuntu2) ... 
Selecting previously unselected package systemd. 
(Reading database ... 4842 files and directories currently installed.) 
Preparing to unpack .../systemd_237-3ubuntu10.33_amd64.deb ... 
Unpacking systemd (237-3ubuntu10.33) ... 
Setting up libapparmor1:amd64 (2.12-4ubuntu5.1) ... 
Setting up libkmod2:amd64 (24-1ubuntu3.2) ... 
Setting up systemd (237-3ubuntu10.33) ... 
Created symlink /etc/systemd/system/getty.target.wants/getty@tty1.service /lib/systemd/system/getty@.service. 
Created symlink /etc/systemd/system/multi-user.target.wants/remote-fs.target /lib/systemd/system/remote-fs.target. 
Created symlink /etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service /lib/systemd/system/systemd-timesyncd.service. 
Created symlink /etc/systemd/system/dbus-org.freedesktop.resolve1.service /lib/systemd/system/systemd-resolved.service. 
Created symlink /etc/systemd/system/multi-user.target.wants/systemd-resolved.service /lib/systemd/system/systemd-resolved.service. 
ln: failed to create symbolic link '/etc/resolv.conf': Device or resource busy 
Created symlink /etc/systemd/system/multi-user.target.wants/ondemand.service /lib/systemd/system/ondemand.service. 
Initializing machine ID from random generator. 
Selecting previously unselected package systemd-sysv. 
(Reading database ... 5552 files and directories currently installed.) 
Preparing to unpack .../systemd-sysv_237-3ubuntu10.33_amd64.deb ... 
Unpacking systemd-sysv (237-3ubuntu10.33) ... 
Selecting previously unselected package multiarch-support. 
Preparing to unpack .../multiarch-support_2.27-3ubuntu1_amd64.deb ... 
Unpacking multiarch-support (2.27-3ubuntu1) ... 
Setting up multiarch-support (2.27-3ubuntu1) ... 
Selecting previously unselected package libxau6:amd64. 
(Reading database ... 5572 files and directories currently installed.) 
Preparing to unpack .../00-libxau6_1%3a1.0.8-1_amd64.deb ... 
Unpacking libxau6:amd64 (1:1.0.8-1) ... 
Selecting previously unselected package libbsd0:amd64. 
Preparing to unpack .../01-libbsd0_0.8.7-1_amd64.deb ... 
Unpacking libbsd0:amd64 (0.8.7-1) ... 
Selecting previously unselected package libxdmcp6:amd64. 
Preparing to unpack .../02-libxdmcp6_1%3a1.1.2-3_amd64.deb ... 
Unpacking libxdmcp6:amd64 (1:1.1.2-3) ... 
Selecting previously unselected package libxcb1:amd64. 
Preparing to unpack .../03-libxcb1_1.13-2~ubuntu18.04_amd64.deb ... 
Unpacking libxcb1:amd64 (1.13-2~ubuntu18.04) ... 
Selecting previously unselected package libx11-data. 
Preparing to unpack .../04-libx11-data_2%3a1.6.4-3ubuntu0.2_all.deb ... 
Unpacking libx11-data (2:1.6.4-3ubuntu0.2) ... 
Selecting previously unselected package libx11-6:amd64. 
Preparing to unpack .../05-libx11-6_2%3a1.6.4-3ubuntu0.2_amd64.deb ... 
Unpacking libx11-6:amd64 (2:1.6.4-3ubuntu0.2) ... 
Selecting previously unselected package libxext6:amd64. 
Preparing to unpack .../06-libxext6_2%3a1.3.3-1_amd64.deb ... 
Unpacking libxext6:amd64 (2:1.3.3-1) ... 
Selecting previously unselected package perl-modules-5.26. 
Preparing to unpack .../07-perl-modules-5.26_5.26.1-6ubuntu0.3_all.deb ... 
Unpacking perl-modules-5.26 (5.26.1-6ubuntu0.3) ... 
Selecting previously unselected package libgdbm5:amd64. 
Preparing to unpack .../08-libgdbm5_1.14.1-6_amd64.deb ... 
Unpacking libgdbm5:amd64 (1.14.1-6) ... 
Selecting previously unselected package libgdbm-compat4:amd64. 
Preparing to unpack .../09-libgdbm-compat4_1.14.1-6_amd64.deb ... 
Unpacking libgdbm-compat4:amd64 (1.14.1-6) ... 
Selecting previously unselected package libperl5.26:amd64. 
Preparing to unpack .../10-libperl5.26_5.26.1-6ubuntu0.3_amd64.deb ... 
Unpacking libperl5.26:amd64 (5.26.1-6ubuntu0.3) ... 
Selecting previously unselected package perl. 
Preparing to unpack .../11-perl_5.26.1-6ubuntu0.3_amd64.deb ... 
Unpacking perl (5.26.1-6ubuntu0.3) ... 
Selecting previously unselected package openssl. 
Preparing to unpack .../12-openssl_1.1.1-1ubuntu2.1~18.04.5_amd64.deb ... 
Unpacking openssl (1.1.1-1ubuntu2.1~18.04.5) ... 
Selecting previously unselected package ca-certificates. 
Preparing to unpack .../13-ca-certificates_20180409_all.deb ... 
Unpacking ca-certificates (20180409) ... 
Selecting previously unselected package libdbus-1-3:amd64. 
Preparing to unpack .../14-libdbus-1-3_1.12.2-1ubuntu1.1_amd64.deb ... 
Unpacking libdbus-1-3:amd64 (1.12.2-1ubuntu1.1) ... 
Selecting previously unselected package dbus. 
Preparing to unpack .../15-dbus_1.12.2-1ubuntu1.1_amd64.deb ... 
Unpacking dbus (1.12.2-1ubuntu1.1) ... 
Selecting previously unselected package dmsetup. 
Preparing to unpack .../16-dmsetup_2%3a1.02.145-4.1ubuntu3.18.04.1_amd64.deb ... 
Unpacking dmsetup (2:1.02.145-4.1ubuntu3.18.04.1) ... 
Selecting previously unselected package libmagic-mgc. 
Preparing to unpack .../17-libmagic-mgc_1%3a5.32-2ubuntu0.3_amd64.deb ... 
Unpacking libmagic-mgc (1:5.32-2ubuntu0.3) ... 
Selecting previously unselected package libmagic1:amd64. 
Preparing to unpack .../18-libmagic1_1%3a5.32-2ubuntu0.3_amd64.deb ... 
Unpacking libmagic1:amd64 (1:5.32-2ubuntu0.3) ... 
Selecting previously unselected package file. 
Preparing to unpack .../19-file_1%3a5.32-2ubuntu0.3_amd64.deb ... 
Unpacking file (1:5.32-2ubuntu0.3) ... 
Selecting previously unselected package libglib2.0-0:amd64. 
Preparing to unpack .../20-libglib2.0-0_2.56.4-0ubuntu0.18.04.4_amd64.deb ... 
Unpacking libglib2.0-0:amd64 (2.56.4-0ubuntu0.18.04.4) ... 
Selecting previously unselected package libgirepository-1.0-1:amd64. 
Preparing to unpack .../21-libgirepository-1.0-1_1.56.1-1_amd64.deb ... 
Unpacking libgirepository-1.0-1:amd64 (1.56.1-1) ... 
Selecting previously unselected package gir1.2-glib-2.0:amd64. 
Preparing to unpack .../22-gir1.2-glib-2.0_1.56.1-1_amd64.deb ... 
Unpacking gir1.2-glib-2.0:amd64 (1.56.1-1) ... 
Selecting previously unselected package less. 
Preparing to unpack .../23-less_487-0.1_amd64.deb ... 
Unpacking less (487-0.1) ... 
Selecting previously unselected package libglib2.0-data. 
Preparing to unpack .../24-libglib2.0-data_2.56.4-0ubuntu0.18.04.4_all.deb ... 
Unpacking libglib2.0-data (2.56.4-0ubuntu0.18.04.4) ... 
Selecting previously unselected package libicu60:amd64. 
Preparing to unpack .../25-libicu60_60.2-3ubuntu3_amd64.deb ... 
Unpacking libicu60:amd64 (60.2-3ubuntu3) ... 
Selecting previously unselected package libnss-systemd:amd64. 
Preparing to unpack .../26-libnss-systemd_237-3ubuntu10.33_amd64.deb ... 
Unpacking libnss-systemd:amd64 (237-3ubuntu10.33) ... 
Selecting previously unselected package libpam-systemd:amd64. 
Preparing to unpack .../27-libpam-systemd_237-3ubuntu10.33_amd64.deb ... 
Unpacking libpam-systemd:amd64 (237-3ubuntu10.33) ... 
Selecting previously unselected package libxml2:amd64. 
Preparing to unpack .../28-libxml2_2.9.4+dfsg1-6.1ubuntu1.2_amd64.deb ... 
Unpacking libxml2:amd64 (2.9.4+dfsg1-6.1ubuntu1.2) ... 
Selecting previously unselected package netbase. 
Preparing to unpack .../29-netbase_5.4_all.deb ... 
Unpacking netbase (5.4) ... 
Selecting previously unselected package python3-dbus. 
Preparing to unpack .../30-python3-dbus_1.2.6-1_amd64.deb ... 
Unpacking python3-dbus (1.2.6-1) ... 
Selecting previously unselected package python3-gi. 
Preparing to unpack .../31-python3-gi_3.26.1-2ubuntu1_amd64.deb ... 
Unpacking python3-gi (3.26.1-2ubuntu1) ... 
Selecting previously unselected package networkd-dispatcher. 
Preparing to unpack .../32-networkd-dispatcher_1.7-0ubuntu3.3_all.deb ... 
Unpacking networkd-dispatcher (1.7-0ubuntu3.3) ... 
Selecting previously unselected package shared-mime-info. 
Preparing to unpack .../33-shared-mime-info_1.9-2_amd64.deb ... 
Unpacking shared-mime-info (1.9-2) ... 
Selecting previously unselected package sudo. 
Preparing to unpack .../34-sudo_1.8.21p2-3ubuntu1.1_amd64.deb ... 
Unpacking sudo (1.8.21p2-3ubuntu1.1) ... 
Selecting previously unselected package xdg-user-dirs. 
Preparing to unpack .../35-xdg-user-dirs_0.17-1ubuntu1_amd64.deb ... 
Unpacking xdg-user-dirs (0.17-1ubuntu1) ... 
Selecting previously unselected package xz-utils. 
Preparing to unpack .../36-xz-utils_5.2.2-1.3_amd64.deb ... 
Unpacking xz-utils (5.2.2-1.3) ... 
Selecting previously unselected package krb5-locales. 
Preparing to unpack .../37-krb5-locales_1.16-2ubuntu0.1_all.deb ... 
Unpacking krb5-locales (1.16-2ubuntu0.1) ... 
Selecting previously unselected package libedit2:amd64. 
Preparing to unpack .../38-libedit2_3.1-20170329-1_amd64.deb ... 
Unpacking libedit2:amd64 (3.1-20170329-1) ... 
Selecting previously unselected package libkrb5support0:amd64. 
Preparing to unpack .../39-libkrb5support0_1.16-2ubuntu0.1_amd64.deb ... 
Unpacking libkrb5support0:amd64 (1.16-2ubuntu0.1) ... 
Selecting previously unselected package libk5crypto3:amd64. 
Preparing to unpack .../40-libk5crypto3_1.16-2ubuntu0.1_amd64.deb ... 
Unpacking libk5crypto3:amd64 (1.16-2ubuntu0.1) ... 
Selecting previously unselected package libkeyutils1:amd64. 
Preparing to unpack .../41-libkeyutils1_1.5.9-9.2ubuntu2_amd64.deb ... 
Unpacking libkeyutils1:amd64 (1.5.9-9.2ubuntu2) ... 
Selecting previously unselected package libkrb5-3:amd64. 
Preparing to unpack .../42-libkrb5-3_1.16-2ubuntu0.1_amd64.deb ... 
Unpacking libkrb5-3:amd64 (1.16-2ubuntu0.1) ... 
Selecting previously unselected package libgssapi-krb5-2:amd64. 
Preparing to unpack .../43-libgssapi-krb5-2_1.16-2ubuntu0.1_amd64.deb ... 
Unpacking libgssapi-krb5-2:amd64 (1.16-2ubuntu0.1) ... 
Selecting previously unselected package libpsl5:amd64. 
Preparing to unpack .../44-libpsl5_0.19.1-5build1_amd64.deb ... 
Unpacking libpsl5:amd64 (0.19.1-5build1) ... 
Selecting previously unselected package libssl1.0.0:amd64. 
Preparing to unpack .../45-libssl1.0.0_1.0.2n-1ubuntu5.3_amd64.deb ... 
Unpacking libssl1.0.0:amd64 (1.0.2n-1ubuntu5.3) ... 
Selecting previously unselected package libxmuu1:amd64. 
Preparing to unpack .../46-libxmuu1_2%3a1.1.2-2_amd64.deb ... 
Unpacking libxmuu1:amd64 (2:1.1.2-2) ... 
Selecting previously unselected package openssh-client. 
Preparing to unpack .../47-openssh-client_1%3a7.6p1-4ubuntu0.3_amd64.deb ... 
Unpacking openssh-client (1:7.6p1-4ubuntu0.3) ... 
Selecting previously unselected package publicsuffix. 
Preparing to unpack .../48-publicsuffix_20180223.1310-1_all.deb ... 
Unpacking publicsuffix (20180223.1310-1) ... 
Selecting previously unselected package xauth. 
Preparing to unpack .../49-xauth_1%3a1.0.10-1_amd64.deb ... 
Unpacking xauth (1:1.0.10-1) ... 
Selecting previously unselected package libroken18-heimdal:amd64. 
Preparing to unpack .../50-libroken18-heimdal_7.5.0+dfsg-1_amd64.deb ... 
Unpacking libroken18-heimdal:amd64 (7.5.0+dfsg-1) ... 
Selecting previously unselected package libasn1-8-heimdal:amd64. 
Preparing to unpack .../51-libasn1-8-heimdal_7.5.0+dfsg-1_amd64.deb ... 
Unpacking libasn1-8-heimdal:amd64 (7.5.0+dfsg-1) ... 
Selecting previously unselected package libheimbase1-heimdal:amd64. 
Preparing to unpack .../52-libheimbase1-heimdal_7.5.0+dfsg-1_amd64.deb ... 
Unpacking libheimbase1-heimdal:amd64 (7.5.0+dfsg-1) ... 
Selecting previously unselected package libhcrypto4-heimdal:amd64. 
Preparing to unpack .../53-libhcrypto4-heimdal_7.5.0+dfsg-1_amd64.deb ... 
Unpacking libhcrypto4-heimdal:amd64 (7.5.0+dfsg-1) ... 
Selecting previously unselected package libwind0-heimdal:amd64. 
Preparing to unpack .../54-libwind0-heimdal_7.5.0+dfsg-1_amd64.deb ... 
Unpacking libwind0-heimdal:amd64 (7.5.0+dfsg-1) ... 
Selecting previously unselected package libhx509-5-heimdal:amd64. 
Preparing to unpack .../55-libhx509-5-heimdal_7.5.0+dfsg-1_amd64.deb ... 
Unpacking libhx509-5-heimdal:amd64 (7.5.0+dfsg-1) ... 
Selecting previously unselected package libkrb5-26-heimdal:amd64. 
Preparing to unpack .../56-libkrb5-26-heimdal_7.5.0+dfsg-1_amd64.deb ... 
Unpacking libkrb5-26-heimdal:amd64 (7.5.0+dfsg-1) ... 
Selecting previously unselected package libheimntlm0-heimdal:amd64. 
Preparing to unpack .../57-libheimntlm0-heimdal_7.5.0+dfsg-1_amd64.deb ... 
Unpacking libheimntlm0-heimdal:amd64 (7.5.0+dfsg-1) ... 
Selecting previously unselected package libgssapi3-heimdal:amd64. 
Preparing to unpack .../58-libgssapi3-heimdal_7.5.0+dfsg-1_amd64.deb ... 
Unpacking libgssapi3-heimdal:amd64 (7.5.0+dfsg-1) ... 
Selecting previously unselected package libsasl2-modules-db:amd64. 
Preparing to unpack .../59-libsasl2-modules-db_2.1.27~101-g0780600+dfsg-3ubuntu2_amd64.deb ... 
Unpacking libsasl2-modules-db:amd64 (2.1.27~101-g0780600+dfsg-3ubuntu2) ... 
Selecting previously unselected package libsasl2-2:amd64. 
Preparing to unpack .../60-libsasl2-2_2.1.27~101-g0780600+dfsg-3ubuntu2_amd64.deb ... 
Unpacking libsasl2-2:amd64 (2.1.27~101-g0780600+dfsg-3ubuntu2) ... 
Selecting previously unselected package libldap-common. 
Preparing to unpack .../61-libldap-common_2.4.45+dfsg-1ubuntu1.4_all.deb ... 
Unpacking libldap-common (2.4.45+dfsg-1ubuntu1.4) ... 
Selecting previously unselected package libldap-2.4-2:amd64. 
Preparing to unpack .../62-libldap-2.4-2_2.4.45+dfsg-1ubuntu1.4_amd64.deb ... 
Unpacking libldap-2.4-2:amd64 (2.4.45+dfsg-1ubuntu1.4) ... 
Selecting previously unselected package libnghttp2-14:amd64. 
Preparing to unpack .../63-libnghttp2-14_1.30.0-1ubuntu1_amd64.deb ... 
Unpacking libnghttp2-14:amd64 (1.30.0-1ubuntu1) ... 
Selecting previously unselected package librtmp1:amd64. 
Preparing to unpack .../64-librtmp1_2.4+20151223.gitfa8646d.1-1_amd64.deb ... 
Unpacking librtmp1:amd64 (2.4+20151223.gitfa8646d.1-1) ... 
Selecting previously unselected package libcurl4:amd64. 
Preparing to unpack .../65-libcurl4_7.58.0-2ubuntu3.8_amd64.deb ... 
Unpacking libcurl4:amd64 (7.58.0-2ubuntu3.8) ... 
Selecting previously unselected package curl. 
Preparing to unpack .../66-curl_7.58.0-2ubuntu3.8_amd64.deb ... 
Unpacking curl (7.58.0-2ubuntu3.8) ... 
Selecting previously unselected package libcurl3-gnutls:amd64. 
Preparing to unpack .../67-libcurl3-gnutls_7.58.0-2ubuntu3.8_amd64.deb ... 
Unpacking libcurl3-gnutls:amd64 (7.58.0-2ubuntu3.8) ... 
Selecting previously unselected package liberror-perl. 
Preparing to unpack .../68-liberror-perl_0.17025-1_all.deb ... 
Unpacking liberror-perl (0.17025-1) ... 
Selecting previously unselected package git-man. 
Preparing to unpack .../69-git-man_1%3a2.17.1-1ubuntu0.4_all.deb ... 
Unpacking git-man (1:2.17.1-1ubuntu0.4) ... 
Selecting previously unselected package git. 
Preparing to unpack .../70-git_1%3a2.17.1-1ubuntu0.4_amd64.deb ... 
Unpacking git (1:2.17.1-1ubuntu0.4) ... 
Selecting previously unselected package libsasl2-modules:amd64. 
Preparing to unpack .../71-libsasl2-modules_2.1.27~101-g0780600+dfsg-3ubuntu2_amd64.deb ... 
Unpacking libsasl2-modules:amd64 (2.1.27~101-g0780600+dfsg-3ubuntu2) ... 
Selecting previously unselected package patch. 
Preparing to unpack .../72-patch_2.7.6-2ubuntu1.1_amd64.deb ... 
Unpacking patch (2.7.6-2ubuntu1.1) ... 
Setting up libedit2:amd64 (3.1-20170329-1) ... 
Setting up readline-common (7.0-3) ... 
Setting up libnss-systemd:amd64 (237-3ubuntu10.33) ... 
First installation detected... 
Checking NSS setup... 
Setting up git-man (1:2.17.1-1ubuntu0.4) ... 
Setting up libicu60:amd64 (60.2-3ubuntu3) ... 
Setting up less (487-0.1) ... 
debconf: unable to initialize frontend: Dialog 
debconf: (TERM is not set, so the dialog frontend is not usable.) 
debconf: falling back to frontend: Readline 
Setting up libssl1.0.0:amd64 (1.0.2n-1ubuntu5.3) ... 
debconf: unable to initialize frontend: Dialog 
debconf: (TERM is not set, so the dialog frontend is not usable.) 
debconf: falling back to frontend: Readline 
Setting up libnghttp2-14:amd64 (1.30.0-1ubuntu1) ... 
Setting up mime-support (3.60ubuntu1) ... 
Setting up sudo (1.8.21p2-3ubuntu1.1) ... 
Setting up libldap-common (2.4.45+dfsg-1ubuntu1.4) ... 
Setting up libreadline7:amd64 (7.0-3) ... 
Setting up libpsl5:amd64 (0.19.1-5build1) ... 
Setting up systemd-sysv (237-3ubuntu10.33) ... 
Setting up libglib2.0-0:amd64 (2.56.4-0ubuntu0.18.04.4) ... 
No schema files found: doing nothing. 
Setting up libsasl2-modules-db:amd64 (2.1.27~101-g0780600+dfsg-3ubuntu2) ... 
Setting up libsasl2-2:amd64 (2.1.27~101-g0780600+dfsg-3ubuntu2) ... 
Setting up libroken18-heimdal:amd64 (7.5.0+dfsg-1) ... 
Setting up librtmp1:amd64 (2.4+20151223.gitfa8646d.1-1) ... 
Setting up perl-modules-5.26 (5.26.1-6ubuntu0.3) ... 
Setting up libgdbm5:amd64 (1.14.1-6) ... 
Setting up libbsd0:amd64 (0.8.7-1) ... 
Setting up libkrb5support0:amd64 (1.16-2ubuntu0.1) ... 
Setting up libgirepository-1.0-1:amd64 (1.56.1-1) ... 
Setting up libxml2:amd64 (2.9.4+dfsg1-6.1ubuntu1.2) ... 
Setting up libmagic-mgc (1:5.32-2ubuntu0.3) ... 
Setting up libmagic1:amd64 (1:5.32-2ubuntu0.3) ... 
Setting up gir1.2-glib-2.0:amd64 (1.56.1-1) ... 
Setting up patch (2.7.6-2ubuntu1.1) ... 
Setting up libglib2.0-data (2.56.4-0ubuntu0.18.04.4) ... 
Setting up krb5-locales (1.16-2ubuntu0.1) ... 
Setting up publicsuffix (20180223.1310-1) ... 
Setting up xz-utils (5.2.2-1.3) ... 
update-alternatives: using /usr/bin/xz to provide /usr/bin/lzma (lzma) in auto mode 
update-alternatives: warning: skip creation of /usr/share/man/man1/lzma.1.gz because associated file /usr/share/man/man1/xz.1.gz (of link group lzma) doesn't exist 
update-alternatives: warning: skip creation of /usr/share/man/man1/unlzma.1.gz because associated file /usr/share/man/man1/unxz.1.gz (of link group lzma) doesn't exist 
update-alternatives: warning: skip creation of /usr/share/man/man1/lzcat.1.gz because associated file /usr/share/man/man1/xzcat.1.gz (of link group lzma) doesn't exist 
update-alternatives: warning: skip creation of /usr/share/man/man1/lzmore.1.gz because associated file /usr/share/man/man1/xzmore.1.gz (of link group lzma) doesn't exist 
update-alternatives: warning: skip creation of /usr/share/man/man1/lzless.1.gz because associated file /usr/share/man/man1/xzless.1.gz (of link group lzma) doesn't exist 
update-alternatives: warning: skip creation of /usr/share/man/man1/lzdiff.1.gz because associated file /usr/share/man/man1/xzdiff.1.gz (of link group lzma) doesn't exist 
update-alternatives: warning: skip creation of /usr/share/man/man1/lzcmp.1.gz because associated file /usr/share/man/man1/xzcmp.1.gz (of link group lzma) doesn't exist 
update-alternatives: warning: skip creation of /usr/share/man/man1/lzgrep.1.gz because associated file /usr/share/man/man1/xzgrep.1.gz (of link group lzma) doesn't exist 
update-alternatives: warning: skip creation of /usr/share/man/man1/lzegrep.1.gz because associated file /usr/share/man/man1/xzegrep.1.gz (of link group lzma) doesn't exist 
update-alternatives: warning: skip creation of /usr/share/man/man1/lzfgrep.1.gz because associated file /usr/share/man/man1/xzfgrep.1.gz (of link group lzma) doesn't exist 
Setting up libheimbase1-heimdal:amd64 (7.5.0+dfsg-1) ... 
Setting up openssl (1.1.1-1ubuntu2.1~18.04.5) ... 
Setting up libsqlite3-0:amd64 (3.22.0-1ubuntu0.1) ... 
Setting up dmsetup (2:1.02.145-4.1ubuntu3.18.04.1) ... 
Setting up shared-mime-info (1.9-2) ... 
Setting up libxdmcp6:amd64 (1:1.1.2-3) ... 
Setting up libgdbm-compat4:amd64 (1.14.1-6) ... 
Setting up libkeyutils1:amd64 (1.5.9-9.2ubuntu2) ... 
Setting up libsasl2-modules:amd64 (2.1.27~101-g0780600+dfsg-3ubuntu2) ... 
Setting up ca-certificates (20180409) ... 
debconf: unable to initialize frontend: Dialog 
debconf: (TERM is not set, so the dialog frontend is not usable.) 
debconf: falling back to frontend: Readline 
Updating certificates in /etc/ssl/certs... 
133 added, 0 removed; done. 
Setting up xdg-user-dirs (0.17-1ubuntu1) ... 
Setting up libx11-data (2:1.6.4-3ubuntu0.2) ... 
Setting up libxau6:amd64 (1:1.0.8-1) ... 
Setting up libmpdec2:amd64 (2.4.2-1ubuntu1) ... 
Setting up libdbus-1-3:amd64 (1.12.2-1ubuntu1.1) ... 
Setting up netbase (5.4) ... 
Setting up libpython3.6-stdlib:amd64 (3.6.9-1~18.04) ... 
Setting up libk5crypto3:amd64 (1.16-2ubuntu0.1) ... 
Setting up python3.6 (3.6.9-1~18.04) ... 
Setting up libwind0-heimdal:amd64 (7.5.0+dfsg-1) ... 
Setting up libasn1-8-heimdal:amd64 (7.5.0+dfsg-1) ... 
Setting up libhcrypto4-heimdal:amd64 (7.5.0+dfsg-1) ... 
Setting up file (1:5.32-2ubuntu0.3) ... 
Setting up libhx509-5-heimdal:amd64 (7.5.0+dfsg-1) ... 
Setting up libperl5.26:amd64 (5.26.1-6ubuntu0.3) ... 
Setting up libkrb5-3:amd64 (1.16-2ubuntu0.1) ... 
Setting up libkrb5-26-heimdal:amd64 (7.5.0+dfsg-1) ... 
Setting up dbus (1.12.2-1ubuntu1.1) ... 
Setting up libxcb1:amd64 (1.13-2~ubuntu18.04) ... 
Setting up libheimntlm0-heimdal:amd64 (7.5.0+dfsg-1) ... 
Setting up libpython3-stdlib:amd64 (3.6.7-1~18.04) ... 
Setting up libpam-systemd:amd64 (237-3ubuntu10.33) ... 
debconf: unable to initialize frontend: Dialog 
debconf: (TERM is not set, so the dialog frontend is not usable.) 
debconf: falling back to frontend: Readline 
Setting up python3 (3.6.7-1~18.04) ... 
running python rtupdate hooks for python3.6... 
running python post-rtupdate hooks for python3.6... 
Setting up libx11-6:amd64 (2:1.6.4-3ubuntu0.2) ... 
Setting up python3-gi (3.26.1-2ubuntu1) ... 
Setting up libxmuu1:amd64 (2:1.1.2-2) ... 
Setting up libgssapi-krb5-2:amd64 (1.16-2ubuntu0.1) ... 
Setting up perl (5.26.1-6ubuntu0.3) ... 
Setting up libgssapi3-heimdal:amd64 (7.5.0+dfsg-1) ... 
Setting up openssh-client (1:7.6p1-4ubuntu0.3) ... 
Setting up python3-dbus (1.2.6-1) ... 
Setting up libxext6:amd64 (2:1.3.3-1) ... 
Setting up liberror-perl (0.17025-1) ... 
Setting up xauth (1:1.0.10-1) ... 
Setting up libldap-2.4-2:amd64 (2.4.45+dfsg-1ubuntu1.4) ... 
Setting up networkd-dispatcher (1.7-0ubuntu3.3) ... 
Created symlink /etc/systemd/system/multi-user.target.wants/networkd-dispatcher.service /lib/systemd/system/networkd-dispatcher.service. 
Setting up libcurl3-gnutls:amd64 (7.58.0-2ubuntu3.8) ... 
Setting up libcurl4:amd64 (7.58.0-2ubuntu3.8) ... 
Setting up git (1:2.17.1-1ubuntu0.4) ... 
Setting up curl (7.58.0-2ubuntu3.8) ... 
Processing triggers for systemd (237-3ubuntu10.33) ... 
Processing triggers for libc-bin (2.27-3ubuntu1) ... 
Processing triggers for ca-certificates (20180409) ... 
Updating certificates in /etc/ssl/certs... 
0 added, 0 removed; done. 
Running hooks in /etc/ca-certificates/update.d... 
done. 
Removing intermediate container b144e9fada25 
 ---> 673293eca434 
Step 4/11 : RUN find /etc/systemd/system     /lib/systemd/system     -path '*.wants/*'     -not -name '*journald*'     -not -name '*systemd-tmpfiles*'     -not -name '*systemd-user-sessions*'     -exec rm \{} \; 
 ---> Running in 86b13401f487 
Removing intermediate container 86b13401f487 
 ---> e642035b04a4 
Step 5/11 : RUN mkdir -p /etc/sudoers.d 
 ---> Running in 07d42c76844a 
Removing intermediate container 07d42c76844a 
 ---> ccdfd57f0650 
Step 6/11 : RUN systemctl set-default multi-user.target 
 ---> Running in 1ab64ba65d65 
Created symlink /etc/systemd/system/default.target /lib/systemd/system/multi-user.target. 
Removing intermediate container 1ab64ba65d65 
 ---> 70d66103f6fd 
Step 7/11 : STOPSIGNAL SIGRTMIN+3 
 ---> Running in cb5a8b9c8bf3 
Removing intermediate container cb5a8b9c8bf3 
 ---> 5c4d7ccf7fac 
Step 8/11 : ENV TLJH_BOOTSTRAP_DEV=yes 
 ---> Running in bf9cfe77ffe0 
Removing intermediate container bf9cfe77ffe0 
 ---> 9bfcaebf06e2 
Step 9/11 : ENV TLJH_BOOTSTRAP_PIP_SPEC=/srv/src 
 ---> Running in 1b5215d06add 
Removing intermediate container 1b5215d06add 
 ---> 15c1655fb910 
Step 10/11 : ENV PATH=/opt/tljh/hub/bin:${PATH} 
 ---> Running in ed163854d74c 
Removing intermediate container ed163854d74c 
 ---> 478df64c5fad 
Step 11/11 : CMD ["/bin/bash", "-c", "exec /sbin/init --log-target=journal 3>&1"] 
 ---> Running in 8659a821a34f 
Removing intermediate container 8659a821a34f 
 ---> 30910e29167a 
Successfully built 30910e29167a 
Successfully tagged tljh-systemd:latest 
[root@nrson the-littlest-jupyterhub]# 

the-littlest-jupyterhub 디렉토리로 이동 후 docker build를 수행합니다.

 

3. docker run

[root@nrson the-littlest-jupyterhub]# docker run --privileged --detach --name=tljh-dev --publish 12000:80 --mount type=bind,source=$(pwd),target=/srv/src tljh-systemd 
519227c39170b2ea96dfda5cb227f6aeaa25a20b05ee3b50f8a3e08d6d98bf60 
[root@nrson the-littlest-jupyterhub]# docker images 
REPOSITORY                                                                    TAG                 IMAGE ID            CREATED              SIZE 
tljh-systemd                                                                  latest              30910e29167a        About a minute ago   275MB 
ubuntu                                                                        18.04               775349758637        3 weeks ago          64.2MB 
192.168.56.107:13000/google-containers/kube-apiserver                          v1.16.0             b305571ca60a        2 months ago         217MB 
192.168.56.107:13000/google-containers/kube-controller-manager                 v1.16.0             06a629a7e51c        2 months ago         163MB 
192.168.56.107:13000/google-containers/kube-proxy                              v1.16.0             c21b0c7400f9        2 months ago         86.1MB 
192.168.56.107:13000/google-containers/kube-scheduler                          v1.16.0             301ddc62b80b        2 months ago         87.3MB 
192.168.56.107:13000/google-containers/k8s-dns-node-cache                      1.15.5              b477eb2ed326        3 months ago         62.5MB 
192.168.56.107:13000/coredns/coredns                                           1.6.0               680bc53e5985        4 months ago         42.2MB 
192.168.56.107:13000/calico/node                                               v3.7.3              bf4ff15c9db0        5 months ago         156MB 
192.168.56.107:13000/calico/cni                                                v3.7.3              1a6ade52d471        5 months ago         135MB 
192.168.56.107:13000/calico/kube-controllers                                   v3.7.3              283860d96794        5 months ago         46.8MB 
192.168.56.107:13000/library/nginx                                             1.15                53f3fd8007f7        6 months ago         109MB 
192.168.56.107:13000/google-containers/cluster-proportional-autoscaler-amd64   1.6.0               dfe4432cd2e2        7 months ago         47.7MB 
192.168.56.107:13000/external_storage/local-volume-provisioner                 v2.3.2              c3e26d3f1640        7 months ago         111MB 
192.168.56.107:13000/google_containers/kubernetes-dashboard-amd64              v1.10.1             f9aed6605b81        11 months ago        122MB 
192.168.56.107:13000/rancher/local-path-provisioner                            v0.0.2              b621dadd3581        13 months ago        327MB 
192.168.56.107:13000/coreos/etcd                                               v3.3.10             643c21638c1c        13 months ago        39.5MB 
192.168.56.107:13000/google-containers/pause                                   3.1                 da86e6ba6ca1        23 months ago        742kB 
192.168.56.107:13000/google_containers/pause-amd64                             3.1                 da86e6ba6ca1        23 months ago        742kB 
l2cconseils/jupyterhubtoree                                                   latest              7478d719023e        2 years ago          3GB 
[root@nrson the-littlest-jupyterhub]# docker ps -a 
CONTAINER ID        IMAGE                                                   COMMAND                  CREATED             STATUS                      PORTS                   NAMES 
519227c39170        tljh-systemd                                            "/bin/bash -c 'exec "   8 seconds ago       Up 7 seconds                0.0.0.0:12000->80/tcp   tljh-dev 
f13c0470ffe1        06a629a7e51c                                            "kube-controller-man"   26 hours ago        Up 26 hours                                         k8s_kube-controller-manager_kube-controller-manager-nrson_kube-system_1b2a20a915f658fe2ef097b44c272d1b_11 
8f876dfd3432        301ddc62b80b                                            "kube-scheduler --au"   26 hours ago        Up 26 hours                                         k8s_kube-scheduler_kube-scheduler-nrson_kube-system_d71c021211dcb97e6ec5355bb05b45eb_6 
860ccfba7c3a        301ddc62b80b                                            "kube-scheduler --au"   39 hours ago        Exited (255) 26 hours ago                           k8s_kube-scheduler_kube-scheduler-nrson_kube-system_d71c021211dcb97e6ec5355bb05b45eb_5 
7f74ecbe7f1c        06a629a7e51c                                            "kube-controller-man"   39 hours ago        Exited (255) 26 hours ago                           k8s_kube-controller-manager_kube-controller-manager-nrson_kube-system_1b2a20a915f658fe2ef097b44c272d1b_10 
cbcc18302a9a        b477eb2ed326                                            "/node-cache -locali"   2 days ago          Up 2 days                                           k8s_node-cache_nodelocaldns-g9768_kube-system_7cad601f-8a64-4aff-adec-fdee51b5135d_0 
c04c091cdf49        192.168.56.107:13000/google_containers/pause-amd64:3.1   "/pause"                 2 days ago          Up 2 days                                           k8s_POD_nodelocaldns-g9768_kube-system_7cad601f-8a64-4aff-adec-fdee51b5135d_0 
aaba45b26215        dfe4432cd2e2                                            "/cluster-proportion"   2 days ago          Up 2 days                                           k8s_autoscaler_dns-autoscaler-79c996c7d-rh5bj_kube-system_4a029d31-7c61-412d-91c8-362321ef1fd2_0 
daf208f466d6        192.168.56.107:13000/google_containers/pause-amd64:3.1   "/pause"                 2 days ago          Up 2 days                                           k8s_POD_dns-autoscaler-79c996c7d-rh5bj_kube-system_4a029d31-7c61-412d-91c8-362321ef1fd2_0 
e402603123b4        680bc53e5985                                            "/coredns -conf /etc"   2 days ago          Up 2 days                                           k8s_coredns_coredns-8b77d49c9-vscd7_kube-system_5d189792-b20c-4ea9-9cb1-fdd6e4a4d1c3_0 
18e10cc646c7        192.168.56.107:13000/google_containers/pause-amd64:3.1   "/pause"                 2 days ago          Up 2 days                                           k8s_POD_coredns-8b77d49c9-vscd7_kube-system_5d189792-b20c-4ea9-9cb1-fdd6e4a4d1c3_0 
700baf0a0897        283860d96794                                            "/usr/bin/kube-contr"   2 days ago          Up 2 days                                           k8s_calico-kube-controllers_calico-kube-controllers-6b9bb86985-7jdts_kube-system_db10c9e7-632c-4a30-b0ad-1e2b6c1a9c73_0 
d2f590e76769        192.168.56.107:13000/google_containers/pause-amd64:3.1   "/pause"                 2 days ago          Up 2 days                                           k8s_POD_calico-kube-controllers-6b9bb86985-7jdts_kube-system_db10c9e7-632c-4a30-b0ad-1e2b6c1a9c73_0 
22725749f3d1        bf4ff15c9db0                                            "start_runit"            2 days ago          Up 2 days                                           k8s_calico-node_calico-node-jrlvl_kube-system_fe6832a2-c21a-4c37-87d3-7375a74b09af_1 
b4581d8fdccc        1a6ade52d471                                            "/install-cni.sh"        2 days ago          Exited (0) 2 days ago                               k8s_install-cni_calico-node-jrlvl_kube-system_fe6832a2-c21a-4c37-87d3-7375a74b09af_1 
c58cef67237b        192.168.56.107:13000/google_containers/pause-amd64:3.1   "/pause"                 2 days ago          Up 2 days                                           k8s_POD_calico-node-jrlvl_kube-system_fe6832a2-c21a-4c37-87d3-7375a74b09af_0 
861d177e798b        bf4ff15c9db0                                            "start_runit"            2 days ago          Exited (0) 2 days ago                               k8s_calico-node_calico-node-jrlvl_kube-system_fe6832a2-c21a-4c37-87d3-7375a74b09af_0 
56c3c464c48f        c21b0c7400f9                                            "/usr/local/bin/kube"   2 days ago          Up 2 days                                           k8s_kube-proxy_kube-proxy-nfvcc_kube-system_81a4bdd9-2e7e-4a80-9b4b-87814f4efcd8_0 
070ba8ae3caa        192.168.56.107:13000/google_containers/pause-amd64:3.1   "/pause"                 2 days ago          Up 2 days                                           k8s_POD_kube-proxy-nfvcc_kube-system_81a4bdd9-2e7e-4a80-9b4b-87814f4efcd8_0 
b40201473b38        b305571ca60a                                            "kube-apiserver --ad"   2 days ago          Up 2 days                                           k8s_kube-apiserver_kube-apiserver-nrson_kube-system_fb56b0e78edb83c64e532b6e9ca57931_0 
f6065140bb4b        192.168.56.107:13000/google_containers/pause-amd64:3.1   "/pause"                 2 days ago          Up 2 days                                           k8s_POD_kube-scheduler-nrson_kube-system_d71c021211dcb97e6ec5355bb05b45eb_0 
aa8f980d7e12        192.168.56.107:13000/google_containers/pause-amd64:3.1   "/pause"                 2 days ago          Up 2 days                                           k8s_POD_kube-controller-manager-nrson_kube-system_1b2a20a915f658fe2ef097b44c272d1b_0 
0a42a8f080a8        192.168.56.107:13000/google_containers/pause-amd64:3.1   "/pause"                 2 days ago          Up 2 days                                           k8s_POD_kube-apiserver-nrson_kube-system_fb56b0e78edb83c64e532b6e9ca57931_0 
1bb9e2c88153        192.168.56.107:13000/coreos/etcd:v3.3.10                 "/usr/local/bin/etcd"    2 days ago          Up 2 days                                           etcd1 
[root@nrson the-littlest-jupyterhub]# 

docker run으로 build한 도커 파일을 기동합니다.

이때 포함되는 옵션은 다음과 같습니다.


--privileged : host compute의 kernel 환경을 사용할 수 있으며, Docker Container 내부에서 systemctl 또는 도커 컨테이너를 기동할 수 있도록 하는 옵션

--detach : 컨테이너를 백그라운드로 기동하기 위한 옵션으로 일명 데몬모드라고 함

--name : 컨테이너의 유니크한 이름을 지정함

--publish : 컨테이너 내부와 통신하기 위한 publish port를 지정하며 --publish [compute_node_list_port:container_port] 형식으로 작성 함

--mount : compute node의 파티션을 컨테이너 내부에서 공유하기 위한 옵션


특히 privileged 옵션은 호스트 OS에 접근할 수 있도록 권한을 부여합니다. 이 옵션과 VOLUME, MOUNT 등의 옵션을 조합하여 파티션을 공유할 수 있습니다. 호스트 OS의 볼륨에 접근 시 Permission denied가 발생할 경우 privileged 옵션을 적용하여 해결할 수 있지만, 도커에서는Default unprivileged를 보안상의 이유로 적용합니다.

위와 같은 옵션을 적용하여 도커 파일을 구성한 이후 컨테이너 내부로 접속하여 Jupyterhub를 기동합니다.

 

4. Jupyterhub Run

[root@nrson the-littlest-jupyterhub]# docker exec -it tljh-dev /bin/bash 
root@7e8f2dcd6681:/# python3 /srv/src/bootstrap/bootstrap.py --admin admin 
Checking if TLJH is already installed... 
Setting up hub environment 
Installed python & virtual environment 
Set up hub virtual environment 
Setting up TLJH installer... 
Setup tljh package 
Starting TLJH installer... 
Setting up admin users 
Granting passwordless sudo to JupyterHub admins... 
Setting up user environment... 
Downloading & setting up user environment... 
Setting up JupyterHub... 
Downloading traefik 1.7.18... 
Created symlink /etc/systemd/system/multi-user.target.wants/jupyterhub.service /etc/systemd/system/jupyterhub.service. 
Created symlink /etc/systemd/system/multi-user.target.wants/traefik.service /etc/systemd/system/traefik.service. 
Waiting for JupyterHub to come up (1/20 tries) 
Waiting for JupyterHub to come up (2/20 tries) 
Done! 
root@7e8f2dcd6681:~# 

docker exec -it [container_name] /bin/bash 명령어로 컨테이너 내부에 접속하여 JupyterHub를 기동하기 위한 bootstrap.py를 실행합니다.
이때 JupyterHub는 /opt/tljh/hub 경로에 있으며, 해당 도커파일은 PATH에 이미 해당 경로를 등록해 두었습니다.

5. Jupyterhub Connect

위와 같이 정상적으로 Done!이 출력되면 이제 JupyterHub에 접속할 준비가 완료된 것입니다.

이제 JupyterHub에 접속하여 사용자를 생성하고 Notebook or Lab 환경을 제공해 보도록 하겠습니다.

접속 URL은 앞서 Docker를 기동할 때 publish한 12000포트로 접속하게 됩니다.

http://[compute_node_ip]:[publish_port]

최초 로그인 후 위와 같은 로그인 화면을 보게 됩니다.

이때 주의해야 할 점은 admin 사용자를 admin 권한으로 추가하였으므로 UserName을 admin으로 입력하였으나, Password를 별도로 설정하지 않았다는 점입니다.

바로 최초 로그인 시점에 입력한 Password가 해당 계정의 비밀번호가 되니 admin의 경우 반드시 기억해야 합니다.

일반 사용자의 경우 admin User가 비밀번호를 재 기입할 수 있도록 조치해 줄 수 있으나, admin 비밀번호를 분실했을 경우 복구하기 위해서는 굉장히 복잡한 과정을 거쳐야 합니다.

로그인이 정상적으로 이루어지면 위와 같은 메인화면을 볼 수 있습니다.

admin 사용자도 하나의 Jupyter Notebook or JupyterLab 환경을 제공받으며, 특히 Control Panel을 통해 사용자를 추가하고 관리할 수 있는 메뉴를 제공받습니다.

메인 화면의 오른쪽 상단의 Control Panel을 클릭하면 위와 같은 화면으로 이동하게 됩니다.

이 화면에서는 Home, Token, Admin 메뉴가 제공되며, Admin 메뉴를 클릭합니다.

Admin 화면에 들어가면 위와 같은 사용자 관리 화면이 나타납니다.

현재 시점에는 admin User 한명만 추가되어 있으며, 일반 사용자를 추가해 보도록 하겠습니다.

Add Users 버튼을 클릭하면 위와 같은 팝업창이 출력됩니다.

추가하고자 하는 사용자 이름을 줄을 바꿔 여러줄 기입하고 Add Users 버튼을 클릭하면 사용자 추가가 완료됩니다.

정상적으로 사용자가 생성되면 위와 같이 nrson & test User가 생성되어 있을 것입니다.

start server 버튼을 직접 눌러 사전에 notebook 기동할 수도 있지만, 사용자가 로그인을 시도하면 자동으로 notebook은 기동되게 됩니다.

또한 delete user를 통해 사용자를 제거할 수 있습니다.

다만, 이때 사용자는 영구적으로 제거되는 것이 아닌 임시 접근 제한을 두는 것으로 사용자를 삭제하고, 재 생성할 경우 일반 사용자는 패스워드를 재생성할 수 있습니다.

(일반 사용자가 패스워드를 잃어 버렸을 경우 해당 화면에서 delete user를 실행하고 add users로 해당 계정을 재생성하면 사용자는 다시 최초 입력한 패스워드가 본인의 패스워드가 됩니다. 또한 사용자 별 디렉토리는 제거되지 않고 유지됩니다.)

자 이제 로그아웃을 실행하고 nrson 사용자로 로그인해 보도록 하겠습니다.

앞서 언급했지만, 최초 로그인 시 Password가 본인의 비밀번호로 저장됩니다.

사용자 로그인 화면 역시 위와 같이 화면이 제공되며, admin user와 다르게 Control Panel에 Admin 기능은 제공되지 않습니다.

자 이제 Python3 환경으로 개발환경을 사용해 보도록 하겠습니다.

위와 같이 New 버튼을 클릭하고 Python3를 선택합니다.

화면이 위와 같이 이동되며, Python3를 이용하여 seconds_in_a_day를 계산해 보도록 합니다.

상단의 여러 실행 Command가 제공되며, 이는 별도로 설명하지 않겠습니다.

(직접 이것 저것 눌러보세요~)

현재 제공되는 화면은 Jupyter Notebook 환경의 화면으로 JupyterLab으로 변경하여 사용하고자 할 경우 상단의 URL을 다음과 같이 변경하여 사용할 수 있습니다.

Jupyter Notebook URL : http://[compute_node_ip]:[publish_port]/user/[user_name]/tree

JupyterLab URL : http://[compute_node_ip]:[publish_port]/user/[user_name]/lab

위와 같이 tree를 lab으로 변경하면 Jupyterlab 환경으로 전환하여 개발환경을 제공받을 수 있습니다.

Jupyterlab의 경우 Jupyte Notebook의 차세대 버전으로 보다 유연한 개발과 이전 환경을 공유할 수 있다는 장점이 있습니다.

 

지금까지 Jupyterhub를 활용한 다중사용자용 개발환경을 공유할 수 있는 환경을 구성해 보았고 간단히 사용방법에 대해 알아보았습니다.

Python3를 예로 들었으나, Host Kernel 환경에서 구성 가능한 다양한 언어를 설치하여 개발환경을 제공할 수 있으며, 이를 활용하여, 프로젝트 개발환경, 교육환경 또는 웹 상에서 간단히 테스트 할 수 있는 환경을 구축하고 유용하게 사용할 수 있을 듯 합니다.

728x90
반응형