Exécuter PureScript sur un conteneur Docker

introduction

Il y a quelques images de PureScript fonctionnant sur Docker Hub, mais celles qui utilisent Node.js v12 et spago Je n'ai pas pu le trouver, alors je l'ai créé moi-même

Environnement de vérification

Windows10 Home Edition
VirtualBox 6.1.16
docker-machine.exe version 0.16.1, build cce350d7

# Docker Host OS (CoreOS)
$ uname -a
Linux default 4.14.154-boot2docker #1 SMP Thu Nov 14 19:19:08 UTC 2019 x86_64 GNU/Linux

Docker version 19.03.5, build 633a0ea838
docker-compose version 1.26.0, build d4451659

Structure du répertoire

Seulement docker-compose.yml et Dockerfile dans le dossier purescript

purescript
|   docker-compose.yml
|   Dockerfile

docker-compose.yml

docker-compose.yml


version: "3.7"
services:
  purescript:
    build:
      context: .
      dockerfile: Dockerfile
    image: takaya030/purescript

Dockerfile

Dockerfile


FROM node:12
LABEL maintainer "takaya030"

# install purescript
RUN npm install --global --unsafe-perm purescript spago

# add user
RUN userdel node && \
	useradd -m -s /bin/bash pureuser

WORKDIR /home/pureuser
USER pureuser

RUN mkdir tmp && cd tmp && spago init

CMD cd tmp && spago repl

Construire l'image

$ cd purescript
$ docker-compose build purescript

Vérifiez l'image

$ docker images
REPOSITORY             TAG                 IMAGE ID            CREATED             SIZE
takaya030/purescript   latest              fb50aeb56d04        22 hours ago        1.08GB
node                   12                  1f560ce4ce7e        4 weeks ago         918MB

Contrôle de fonctionnement

$ docker-compose run --rm purescript

[info] Installing 4 dependencies.
[info] Searching for packages cache metadata..
[info] Unable to find packages cache metadata, downloading from GitHub..
[info] Installing and globally caching "psci-support"
[info] Installing and globally caching "console"
[info] Installing and globally caching "effect"
[info] Installing and globally caching "prelude"
[info] Installation complete.
Compiling Type.Data.RowList
Compiling Type.Data.Row
Compiling Record.Unsafe
  .
  .
  .
Compiling Main
Compiling PSCI.Support
Compiling Test.Main
PSCi, version 0.13.8
Type :? for help

import Prelude

> "hello"
"hello"

> 1 + 2 * 3
7

> import Effect.Console
> log "print this to the screen"
print this to the screen
unit

> :quit
See ya!
()

référence

Recommended Posts

Exécuter PureScript sur un conteneur Docker
Exécutez NordVPN dans le conteneur Ubuntu Docker (Windows)
J'ai créé un conteneur Docker pour exécuter Maven
Exécutez openvpn sur Docker (Windows)
Exécutez l'exemple SSE (Server-Sent-Event) sur le docker
Étapes pour exécuter Docker sur Mac
Exécutez puppeteer-core sur Heroku (édition Docker)
Exécutez l'AWS CLI sur Docker
Pour exécuter JavaFX sur Docker
Essayez Hello World en utilisant Java brut sur le conteneur Docker
[Microsoft] Exécutez l'agent Azure Pipelines (VSTS) sur Docker ou Azure Container Instance
Créer un environnement de développement PureScript avec Docker
Jusqu'à ce que vous exécutiez apache avec ubuntu sur docker
Exécutez Ubuntu + ROS avec Docker sur Mac
Liberty sur Docker
Accéder à MySQL sur un conteneur Docker à partir d'un programme Java local (OS hôte)
Commencer par installer Docker sur EC2 et exécuter Yellowfin dans un conteneur
Exécutez des applications x11 dans un conteneur Docker (prend en charge l'accès réseau à partir du conteneur)
Petit conteneur Docker
Création d'une image de conteneur Docker pour un serveur OpenLDAP basé sur Fedora
Redmine sur Docker
Comment obtenir un heapdump à partir d'un conteneur Docker
Créer une application Kotlin à l'aide du conteneur OpenJDK Docker
Créer un conteneur pour Docker x Laravel phpMyAdmin
Mettre à jour l'image du conteneur avec KUSANAGI s'exécute sur Docker
L'extraction du conteneur Docker a une limite de débit appliquée
Exécutez autossh en tant que service systemd sur CentOS
Exécutez STS4 sur Mac
Systemctl ne peut pas être utilisé sur Ubuntu dans un conteneur Docker
Installation de Docker sur CentOS 6
mémo python sur docker
Exécutez PostgreSQL sur Java
Installez Docker sur Manjaro
Créer un environnement de développement gcloud sur un conteneur centos8
Créer un conteneur Docker pour convertir EPS en source PGF
[Docker] Comment mettre à jour à l'aide d'un conteneur dans Heroku et comment gérer l'erreur de migration
Exécutez Payara avec Docker
Un mémorandum lors de l'installation de Docker et de la construction d'un conteneur Linux
Scène d'utilisation du conteneur Docker
Exécuter le traitement sur Ant