PharoView this PageEdit this PageUploads to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide)

Docker example file from Pierce (source Discord)

# Start with Ubuntu.
FROM ubuntu:18.04
LABEL maintainer="Pierce Ng"

# Install Pharo VM.
RUN apt-get update \
  && apt-get -y install libfreetype6 \
  && true
RUN mkdir -p /pkg/vm
COPY pharo6vm64/ /pkg/vm
the host's pharo6vm64 directory contains the lib/5.0-xxxx/ stuff, i.e. the pharo elf executable and the so files. i don't use the sh script that comes with pharo/squeak.
i name the pharo VM docker image samadhiweb/pharo6vm64.
next is my application Dockerfile
# Start with Ubuntu.
FROM samadhiweb/pharo6vm64:5.0-201806171702
LABEL maintainer="Pierce Ng"

# Install prepared Pharo image.
WORKDIR /pkg/image
COPY PharoV60.sources PharoV60.sources
COPY scms1.image scms1.image
COPY scms1.changes scms1.changes
COPY runSCMS1.st runSCMS1.st

# Create UID/GID for the web content which is in shared volume.
RUN groupadd -g 1098 cms1 && useradd -r -u 1098 -g cms1 cms1 -m

# Run Pharo.
RUN groupadd -g 1099 pharoapp && useradd -r -u 1099 -g pharoapp pharoapp
RUN chown -R pharoapp:pharoapp /pkg/image
RUN chown root:root /pkg/image/PharoV60.sources
RUN chown root:root /pkg/image/runSCMS1.st
EXPOSE 8081
USER pharoapp:pharoapp
CMD /pkg/vm/gofaro -vm-display-null -vm-sound-null scms1.image --no-quit st runSCMS1.st

-----------

Link to this Page