Lors de l'utilisation d'une bibliothèque que je souhaite exécuter sous unix, telle que la bibliothèque DNN, dans mon cas, je l'ai développée en exécutant un conteneur docker qui a été construit dans un environnement en le connectant au bureau ou au serveur ubuntu avec ssh (à partir d'un ordinateur Windows). Il n'y a pas de problème si vous exécutez simplement le programme, mais c'était un peu gênant si vous vouliez faire du débogage, etc. Le traitement qui n'utilise pas une bibliothèque de calcul telle que le prétraitement des données a été implémenté dans Windows, et le reste a été implémenté dans vim etc., mais j'ai appris à exécuter une application GUI en exécutant un serveur vnc avec docker, alors j'ai essayé de l'utiliser J'ai fait.
serveur:
client:
Demande:
J'ai fait référence au Dockerfile de `` dorowu / ubuntu-desktop-lxde-vnc ''. (gitHub)
Je ferai référence au Dockerfile de dorowu ci-dessus, mais je veux utiliser cuda, donc je vais changer l'image de base. Heureusement, dorowu utilise ubuntu comme image de base, donc je l'ai juste changé en nvidia / cuda et cela a fonctionné.
Étant donné qu'Eclipse n'a besoin que d'être téléchargé et décompressé, la description suivante a été ajoutée au Dockerfile.
eclipse
ADD http://***/eclipse-***.tar.gz /tmp
RUN tar xavf /tmp/eclipse-* -C /opt/
RUN ln -s /opt/eclipse/eclipse /usr/bin
Démarrez-le depuis le terminal (car je ne l'ai pas ajouté au menu démarrer).
Vous avez besoin de java pour exécuter eclipse. Surtout pour pydev, si java8 n'est pas installé, il ne sera pas utilisable même si l'installation est terminée normalement (il ne sera pas affiché dans le menu etc.). Pour le moment, je mets java8 de crackle.
java_install
RUN apt-add-repository ppa:webupd8team/java && apt-get update
# license
RUN echo debconf shared/accepted-oracle-license-v1-1 select true | debconf-set-selections
RUN echo debconf shared/accepted-oracle-license-v1-1 seen true | debconf-set-selections
RUN apt-get install -y --force-yes oracle-java8-installer
RUN apt-get install -y --force-yes oracle-java8-set-default
Par exemple, si vous mettez pydev, vous voulez vraiment l'écrire dans le Dockerfile ... Pour le moment, je l'ai exploité avec une interface graphique et engagé dans l'image. Eh bien, je me demande si l'interface graphique n'est utilisée que pendant le développement. S'il vous plaît laissez-moi savoir s'il existe un bon moyen ... Vous pouvez créer une image en copiant le répertoire dans lequel eclipse est installé du côté hôte et en le partageant ou du côté hôte.
Héritez de l'image créée ci-dessus et installez chaque bibliothèque. Si vous avez une image qui utilise nvidia / cuda comme base (telle que this), vous devez simplement remplacer FROM par cette image.
Dans l'image à laquelle j'ai fait référence cette fois, noVNC est introduit. Il s'agit d'une application qui peut être vnc depuis un navigateur (HTML5). Je vais essayer ceci pour le moment. Vous devriez pouvoir vous connecter à l'aide du logiciel client, mais il était relativement à l'aise avec le navigateur.
Recommended Posts