Docker (vagy más virtuális) réteg a saját notebookomra, programtelepítés előtt

Ubuntu Linuxon dolgozom (a saját gépemen nincs más). Bele akartam kezdeni egy Bluemix tanfolyam elvégzésébe, de annyi nyavalyás programot kéne már induláskor feltennem (Eclipse, Java SE 8 JDK, Node.js), hogy arra gondoltam, hogy mielőtt ezekkel megfejelem a gépem, húzok "alájuk" valami réteget, hogy aztán könnyen letolhassam, ha végeztem.

Mi szokott erre lenni a megoldás? (Amit szeretnék elkerülni, az a teljes gépem image-mentése és -visszatöltése.)

Első nekifutásból egy Dockerre gondoltam, meg VNC-re ( https://github.com/fcwu/docker-ubuntu-vnc-desktop ), de lehet, hogy ennél van elterjedtebb (egyszerűbb) megoldás is. Lényeg: hogy ne túl erőforrásigényes grafikus felületem legyen, ahol kedvemre felrámolhatok, amit akarok, majd pedig a végén legyalulhassam.

Hozzászólások

vagy akar egy hagyomanyos virtualizacio is lehet, pl. virtualbox, kvm, ...

nemkell kulon vnc, ha mar linuxod van azon ugyis fut X. nalam igy van egy intellj dockerben:


# Pull base image.
FROM java:openjdk-8-jdk

# Add IntelliJ IDEA, downloaded from https://www.jetbrains.com/idea/
ADD ideaIC-2016.2.5.tar.gz /tmp/

# Install IntelliJ IDEA and fix paths
RUN \
    usermod -d /data nobody && \
    mv /tmp/idea-IC* /opt/idea-IC && \
    sed -e 's%..user.home.%/data%;s%# idea.config.path%idea.config.path%;s%# idea.system.path%idea.system.path%' \
        -e '/idea.system.path/a \\nidea.library.source.dir=/data/.IdeaIC/libSources' -i /opt/idea-IC/bin/idea.properties

# My X11 desktop
ENV DISPLAY 172.17.42.1:0

# Define user
USER nobody

# Define commonly used HOME variable
ENV HOME /data

# Define commonly used JAVA_HOME variable
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64

# Define working directory.
WORKDIR /data

# Define default command.
CMD ["/opt/idea-IC/bin/idea.sh"]

indulaskor egyedul a /data ala van "bemountolva" a project konyvtar.

hasonloan smartgithez:


# Pull base image.
FROM java:openjdk-8-jre

ENV DEBIAN_FRONTEND noninteractive

ENV SMARTGIT_VERSION 8_0_3

# Add SmartGit, downloaded from http://www.syntevo.com/smartgit/download/
ADD smartgit-${SMARTGIT_VERSION}.deb /tmp/

# Install depends and smartgit
RUN \
    apt-get update && \
    apt-get install -y git git-gui gitk libgtk2.0-0 libxtst6 libjna-java && \
    dpkg -i /tmp/smartgit-${SMARTGIT_VERSION}.deb && \
    echo "-Dsmartgit.settings=/data/.smartgit/6.5" >/usr/share/smartgit/bin/smartgit.vmoptions && \
    rm /tmp/smartgit-${SMARTGIT_VERSION}.deb && \
    rm -rf /var/lib/apt/lists/*

...

# Define default command.
CMD ["/usr/share/smartgit/bin/smartgit.sh"]

--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!


vilmosnagy@vnagy-dell:~$ ls -la | grep dea
űdrwxrwxr-x   3 vilmosnagy vilmosnagy    4096 máj    8  2016 .idea-build
drwxr-xr-x   2 vilmosnagy vilmosnagy    4096 nov    3 10:30 .ideaLibSources
drwxr-xr-x   4 vilmosnagy vilmosnagy    4096 dec    6 09:16 .IntelliJIdea2016.3

régebben, mintha a configokat is szerette volna verziónként külön-külön mappába rakni, aztán nem letakarítani - de úgynézem, a Toolbar mostmár ezt megoldja...
--
blogom

Eclipse-et egy user könyvtárba telepítheted, ha megúntad letörlöd és mintha ott se lett volna. (Ha Eclipse installerrel telepíted, akkor még a .p2 foldert is le kell törölni.)

Java 8 csomagból jön, purgálod és mintha ott se lett volna.

Node.js-sel régen játszottam, de úgy emlékszem az is userként egy folderen belül önhordó.

Szóval ezek miatt nem feltétlen kell virtualizáció, én simán felraknám, aztán letörölném és kész.

Persze ez nem válasz a kérdésre, csak nem tudom belegondoltál-e mi van ha nem virtualizálsz semmit.

Más: csinálsz egy új usert (mezei jogokkal), azzal csinálsz mindent (JDK-t telepíthetsz userként csak a user alá, többi is megy). A végén letörlöd vagy archiválod arra az esetre ha folytatni akarod - ízlés szerint.

Egyébként mostanság kiakadtam egy kicsit, mennyire kezd Windows lenni itt is:
- a steam pakol mindenhova, s az apt-get purge baszik rá
- az IntelliJ nem is települ csomagban, de persze az is pakol mindenhova
- ésmégkitudjaminemtűntfel...

tudom, vessek magamra, hogy ilyeneket telepítek...
--
blogom

Egyetértek azzal, hogy nem feltétlen kell ide virtualizáció (bár a fenti X-es megoldás jónak tűnik ilyen célra), de mi a célod, csak egyszerűen a rendszer tisztán tartása?

Ha a tanfolyam után szükséged van folytatási lehetőségre akkor úgyis hasznos lesz, ha fent van, gondolom nem cél nélkül tanulsz :). Nálam anno hasonló csomagok voltak fent (node,java,android-sdk), nem emlékszem nagy rumlira utánuk (jelenleg nincsenek fent).

Szerintem over-engineering, ezen a szinten még.

Szerintem ne nehezitsd meg az életedet, nem kell ide bonyolult megoldás.
a) egy mezei virtualbox
b) kreálsz egy másik usert, mondjuk /home/tempuser/bin alá bedobálod ami kell, aztán ha végeztél törlöd az usert

--
arch,debian,retropie,osmc,android,windows