首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用docker安装swipl

使用docker安装swipl
EN

Stack Overflow用户
提问于 2021-11-11 15:37:30
回答 1查看 135关注 0票数 0

我想用swipl+bash+node.js构建一个应用程序。

我认为我想使用Docker (以避免路径名问题)。

试图使用简单的脚本获得安装swipl失败(在交互式输入阶段(地理位置)):

Dockerfile:

代码语言:javascript
复制
FROM ubuntu:latest
RUN   apt-get update && \
 printf 'Y\n2\n' | apt-get install swi-prolog

RUN   export PATH=/root/.local/bin:/usr/local/bin:/root/.local/bin:$PATH

COPY hello.pl ./
ENTRYPOINT /usr/local/bin/swipl -g 'consult("hello.pl").' -g 'hello.' -g 'halt.'

hello.pl

代码语言:javascript
复制
hello:-
    format("Hello from SWIPL",[]).
EN

回答 1

Stack Overflow用户

发布于 2021-11-11 17:12:27

是的,大卫·梅泽的建议很有帮助。

作为记录,已完成的版本如下:

Dockerfile

代码语言:javascript
复制
FROM ubuntu:latest

## for apt to be noninteractive
ENV DEBIAN_FRONTEND noninteractive
ENV DEBCONF_NONINTERACTIVE_SEEN true

## preseed tzdata, update package index, upgrade packages and install needed software
RUN echo "tzdata tzdata/Areas select America" > /tmp/preseed.txt ; \
    echo "tzdata tzdata/Zones/America select Toronto" >> /tmp/preseed.txt; \
    debconf-set-selections /tmp/preseed.txt && \
    apt-get update && \
    apt-get install -y tzdata
    
RUN   apt-get update && \
  apt-get install -y swi-prolog

RUN   export PATH=/root/.local/bin:/usr/local/bin:/root/.local/bin:$PATH
COPY hello.pl ./
ENTRYPOINT swipl -g 'consult("hello.pl").' -g 'hello.' -g 'halt.'

# docker build . --tag hellofromswipl
# docker run hellofromswipl

hello.pl

代码语言:javascript
复制
    get_time(T),
    format_time(user_output,'Hello from SWIPL %a, %d %b %Y %T GMT', T).
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69931001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档