Führen Sie PureScript auf einem Docker-Container aus

Einführung

Es gibt einige Bilder von PureScript, die auf Docker Hub arbeiten, aber diejenigen, die Node.js v12 und spago verwenden Ich konnte es nicht finden, also habe ich es selbst erstellt

Überprüfungsumgebung

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

Verzeichnisaufbau

Nur docker-compose.yml und Dockerfile im Ordner 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

Image erstellen

$ cd purescript
$ docker-compose build purescript

Überprüfen Sie das Bild

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

Funktionsprüfung

$ 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!
()

Referenz

Recommended Posts

Führen Sie PureScript auf einem Docker-Container aus
Führen Sie NordVPN im Docker (Windows) Ubuntu-Container aus
Ich habe einen Docker-Container erstellt, um Maven auszuführen
Führen Sie openvpn unter Docker aus (Windows)
Führen Sie das SSE-Beispiel (Server-Sent-Event) auf Docker aus
Schritte zum Ausführen von Docker auf einem Mac
Führen Sie Puppeteer-Core auf Heroku aus (Docker Edition)
Führen Sie die AWS CLI in Docker aus
So führen Sie JavaFX unter Docker aus
Versuchen Sie Hello World mit einfachem Java im Docker-Container
[Microsoft] Führen Sie den Azure Pipelines (VSTS) -Agenten auf Docker oder Azure Container Instance aus
Erstellen Sie mit Docker eine PureScript-Entwicklungsumgebung
Bis Sie Apache mit Ubuntu auf Docker ausführen
Führen Sie Ubuntu + ROS mit Docker auf dem Mac aus
Freiheit auf Docker
Greifen Sie über ein lokales Java-Programm (Host-Betriebssystem) auf MySQL in einem Docker-Container zu
Beginnen Sie mit der Installation von Docker auf EC2 und dem Ausführen von Yellowfin in einem Container
Führen Sie x11-Apps in einem Docker-Container aus (unterstützt den Netzwerkzugriff vom Container aus).
Kleiner Docker Container
Erstellt ein Docker-Container-Image für einen OpenLDAP-Server basierend auf Fedora
Redmine auf Docker
So erhalten Sie einen Heapdump aus einem Docker-Container
Erstellen Sie eine Kotlin-App mit dem OpenJDK Docker-Container
Erstellen Sie einen Container für Docker x Laravel phpMyAdmin
Aktualisieren Sie das Container-Image mit KUSANAGI Runs on Docker
Für Docker Container Pull ist ein Ratenlimit festgelegt
Führen Sie autossh als systemd-Dienst unter CentOS aus
Führen Sie STS4 auf dem Mac aus
Systemctl kann unter Ubuntu nicht in einem Docker-Container verwendet werden
Docker-Installation unter CentOS 6
Python-Memo auf Docker
Führen Sie PostgreSQL unter Java aus
Installieren Sie Docker auf Manjaro
Erstellen Sie eine gcloud-Entwicklungsumgebung auf einem centos8-Container
Erstellen Sie einen Docker-Container, um EPS in eine PGF-Quelle zu konvertieren
[Docker] Wie man mit einem Container in Heroku aktualisiert und wie man mit Migrate Error umgeht
Führen Sie Payara mit Docker aus
Ein Memorandum bei der Installation von Docker und der Erstellung eines Linux-Containers
Docker-Container-Nutzungsszene
Führen Sie die Verarbeitung auf Ant aus