Docker Hub a rocker / geospatial
comme environnement Rstudio Server qui peut également analyser le SIG. Cependant, même si j'essayais de l'imiter et que je faisais "docker pull" et "docker run rocker / geospatial", il y avait les deux problèmes suivants.
Docker run
, vous ne pourrez pas essayer setwd
après l'avoir démarré.)Je laisserai un protocole d’accord qui aborde ces deux points.
Commencez par créer un Dockerfile n'importe où du côté hôte (ordinateur). Cette fois, créez un répertoire nommé docker sur Dropbox et créez un Dockerfile. (Exemple: (Mac) C: \ Users \ user \ Dropbox \ docker
, (Windows) D: \ Dropbox \ R \ docker
)
Cela peut être un bloc-notes ou un éditeur, alors créez un fichier nommé Dockerfile
et placez-le dans le répertoire docker. En règle générale, ne placez aucun fichier autre que Dockerfile
dans le répertoire (cela affectera la construction de Docker
). Puisqu'une image est créée pour chaque RUN, il est souhaitable de connecter RUN avec une barre oblique inverse \ autant que possible. [^ 1] [^ 2]
#Image de base (toute bascule/*Peut être changé en)
FROM rocker/geospatial:latest
#Ajouter et basculer les paramètres régionaux japonais vers l'environnement du système d'exploitation (la bascule est basée sur Debian)
ENV LANG ja_JP.UTF-8
ENV LC_ALL ja_JP.UTF-8
RUN sed -i '$d' /etc/locale.gen \
&& echo "ja_JP.UTF-8 UTF-8" >> /etc/locale.gen \
&& locale-gen ja_JP.UTF-8 \
&& /usr/sbin/update-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja"
RUN /bin/bash -c "source /etc/default/locale"
RUN ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
#Installer la police japonaise
RUN apt-get update && apt-get install -y \
fonts-ipaexfont \
fonts-noto-cjk
Docker build
Lancez Terminal (sur Mac). Pour Windows, utilisez TeraTerm ou Windows Terminal. Allez à l'emplacement où se trouve le Dockerfile
.
#Pour moi (Mac)/Users/De l'utilisateur/Users/user/Dropbox/Aller au docker
cd Dropbox
cd docker
Après vous être déplacé vers l'emplacement où se trouve le Dockerfile
, utilisez docker build -t <nom> <directory>
to build
. (Cette fois, <nom>
est geo: geospatial
)
# /Users/user/Dropbox/docker
docker build -t geo:geospatial .
Après la construction, exécutez Docker, mais utilisez l'option -v pour partager le système de fichiers et l'option -p pour connecter les ports hôte et conteneur. [^ 3]
docker run -p 8787:8787 -v C:\Users\user\Dropbox\R\:/home/rstudio -d geo:geospatial
Pour C: \ Users \ user \ Dropbox \ R \
, entrez le chemin du dossier que vous utilisez.
docker run -p 8787:8787 -v D:\Dropbox\R:/home/rstudio -d geo:geospatial
Cependant, si le répertoire sur le lecteur D ne se monte pas correctement, vérifiez les paramètres de stratégie de sécurité locale. [^ 4]
De plus, pour Windows, il semble préférable de définir le disque dur virtuel sur le lecteur D. [^ 5]
Si vous entrez la commande ci-dessus et qu'il n'y a aucune erreur, RStudio a démarré avec succès. Veuillez vérifier sur http: // localhost: 8787. Comme je n'ai défini le mot de passe sur personne cette fois, je pense que le nom d'utilisateur et le mot de passe peuvent être connectés avec rstudio.
Comme mentionné ci-dessus, vous pouvez également utiliser Docker-compose
pour gérer Rstudio. Il est normal de laisser l'article ci-dessus tel quel, mais il est difficile d'écrire et de se souvenir d'un code long chaque fois que vous exécutez Docker '. De plus, à l'avenir, vous souhaiterez peut-être utiliser divers conteneurs autres que RStudio Server. Dans de tels cas,
Docker-compose` est utile.
docker-compose.yml
Créez un fichier appelé docker-compose.yml
au même emplacement que Dockerfile
et modifiez-le avec un éditeur. Travaillez sur Dropbox> docker
comme ci-dessus. (Exemple: (Mac) C: \ Users \ user \ Dropbox \ docker
, (Windows) D: \ Dropbox \ R \ docker
)
Dans ce qui précède, pendant docker build
et docker run
docker build -t geo:geospatial .
docker run -p 8787:8787 -v C:\Users\user\Dropbox\R\:/home/rstudio -d geo:geospatial
J'ai écrit, mais si vous définissez ceci sur docker-compose.yml
, ce sera comme suit.
version: '3'
services:
rstudio:
build: .
image: geo:geospatial
container_name: geo
ports:
- 8787:8787
volumes:
- ../R:/home/rstudio
tty: true
stdin_open: true
N'oubliez pas de mettre un espace demi-largeur
après chaque deux-points (:
) et tiret ( -
). Par exemple, «version: '3» »a un« espace demi-largeur »entre« version: »et« »3». build: .
etc. nécessitent également un espace demi-largeur
avant la virgule (.
). Suivez ceci comme règle de formatage.
De plus, cette fois, «volumes» est spécifié par un chemin relatif. Si vous souhaitez spécifier le dossier C: \ Users \ user \ Dropbox \ R
comme répertoire de base de Rstudio, vous êtes maintenant dans le dossier C: \ Users \ user \ Dropbox \ docker
, utilisez donc simplement ..
Il remonte la hiérarchie (C: \ Users \ user \ Dropbox \
) puis spécifie le répertoire / R
.
En spécifiant un chemin relatif, le code est indépendant de l'environnement de la machine que vous utilisez. Vous pouvez maintenant gérer avec le même fichier docker-compose.yml
sur Mac et Windows.
Identique à Docker. Lancez Terminal (sur Mac). Pour Windows, utilisez TeraTerm ou Windows Terminal. Naviguez jusqu'à l'emplacement où se trouvent le Dockerfile
et le docker-compose.yml
.
#Pour moi (Mac)/Users/De l'utilisateur/Users/user/Dropbox/Aller au docker
cd Dropbox
cd docker
Après vous être déplacé vers l'emplacement où se trouvent Dockerfile
et docker-compose.yml
, tapez cette fois et exécutez docker-compose up -d
au lieu de docker build
et docker run
. Seulement ça.
# /Users/user/Dropbox/docker
docker-compose up -d
Si vous obtenez une erreur, vérifiez d'abord si vous avez oublié d'insérer l'espace demi-largeur. S'il n'y a pas de problème, vous devriez pouvoir vous connecter à rstudio en toute sécurité à http: // localhost: 8787 comme dans le paramètre précédent.
[^ 1]: Dockerfile a été référencé ici: https://k-metrics.github.io/cabinet/env_install_svr.html [^ 2]: À propos de l'image en cours de création pour chaque RUN: https://datawokagaku.com/dockerfile_commands/
Recommended Posts