pointslope / docker-datomic Goto Github PK
View Code? Open in Web Editor NEWSource for the Docker automated build of the pointslope/docker-datomic image
Source for the Docker automated build of the pointslope/docker-datomic image
This repo, together with your docker-datomic-example is great; it does 99% of what I need right now.
But, you didn't expose any way to pass flags into bin/transactor. (e.g. -Xmx)
I was about to spend some time re-learning my Docker fu to do this and send you a PR, but I was just scolded on Slack for yak-shaving.
So, just noting it here as a feature request. Thanks!
Hi,
I tried using the updated image version 0.9.5530 but discovered that the docker-datomic image version needed is only tagged with "latest" on hub.docker.com, not also with the version number (these are all older).
Hence the Dockerfile outlined in the README cannot work, since it calls out the version in the FROM statement:
FROM pointslope/datomic-pro-starter:0.9.5530
Thanks for adding the tag.
Stefan
So im trying to build this image using docker-compose, but i get the following error.
0.9.5561: Pulling from pointslope/datomic-pro-starter
e110a4a17941: Pull complete
5726fbb708f0: Pull complete
87d57f795d92: Pull complete
8cdfc7cd5696: Pull complete
3039f18e5b5b: Pull complete
2cb421c6e133: Pull complete
3bef197364f6: Pull complete
b616b70074d1: Pull complete
Digest: sha256:fce089207635e1467674a889e72711abe9c8be7f7d9f12d9d554e7241568414e
Status: Downloaded newer image for pointslope/datomic-pro-starter:0.9.5561
# Executing 3 build triggers
---> Running in 16ed9607ccfe
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 13 0 13 0 0 11 0 --:--:-- 0:00:01 --:--:-- 15
Archive: /tmp/datomic.zip
End-of-central-directory signature not found. Either this file is not
a zipfile, or it constitutes one disk of a multi-part archive. In the
latter case the central directory and zipfile comment will be found on
the last disk(s) of this archive.
unzip: cannot find zipfile directory in one of /tmp/datomic.zip or
/tmp/datomic.zip.zip, and cannot find /tmp/datomic.zip.ZIP, period.
ERROR: Service 'datomic-transactor' failed to build: The command '/bin/sh -c curl -u $(cat /tm
pro-$DATOMIC_VERSION.zip -o /tmp/datomic.zip && unzip /tmp/datomic.zip -d /opt && rm -f /t
My docker configuration is pretty straight forward:
Dockerfile:
FROM pointslope/datomic-pro-starter:0.9.5561
CMD ["config/sql-transactor.properties"]
docker-compose.yml:
version: '3'
services:
datomic-transactor:
build:
context: docker/datomic-transactor-docker
dockerfile: Dockerfile
ports:
- "4334:4334"
- "4335:4335"
- "4336:4336"
...
sq-transactor.properties:
###################################################################
protocol=sql
host=localhost
port=4334
###################################################################
# See https://docs.datomic.com/on-prem/storage.html
license-key=<my license key is here>
###################################################################
# See https://docs.datomic.com/on-prem/storage.html
sql-url=jdbc:postgresql://postgres/datomic
sql-user=datomic
sql-password=datomic
## The Postgres driver is included with Datomic. For other SQL
## databases, you will need to install the driver on the
## transactor classpath, by copying the file into lib/,
## and place the driver on your peer's classpath.
sql-driver-class=org.postgresql.Driver
## Driver specified params, as semicolon-separated pairs.
# Optional
# sql-driver-params=<param1=val1¶m2=val2...>
## The query used to validate JDBC connection.
# Optional
# sql-validation-query=select 1
###################################################################
# See https://docs.datomic.com/on-prem/capacity.html
## Recommended settings for -Xmx4g production usage.
# memory-index-threshold=32m
# memory-index-max=512m
# object-cache-max=1g
## Recommended settings for -Xmx1g usage, e.g. dev laptops.
memory-index-threshold=32m
memory-index-max=256m
object-cache-max=128m
## OPTIONAL #######################################################
## Set to false to disable SSL between the peers and the transactor.
# Default: true
# encrypt-channel=true
## Data directory is used for dev: and free: storage, and
## as a temporary directory for all storages.
# data-dir=data
## Transactor will log here, see bin/logback.xml to configure logging.
# log-dir=log
## Transactor will write process pid here on startup
# pid-file=transactor.pid
## OPTIONAL #######################################################
# See https://docs.datomic.com/on-prem/valcache.html
## Valcache configuration.
## Set these valcache properties to a directory on an SSD to enable valcache
# valcache-path=
# valcache-max-gb=
## OPTIONAL #######################################################
# See https://docs.datomic.com/on-prem/storage.html
## Memcached configuration.
# memcached=host:port,host:port,...
# memcached-username=datomic
# memcached-password=datomic
## OPTIONAL #######################################################
# See https://docs.datomic.com/on-prem/capacity.html
## Soft limit on the number of concurrent writes to storage.
# Default: 4, Miniumum: 2
# write-concurrency=4
## Soft limit on the number of concurrent reads to storage.
# Default: 2 times write-concurrency, Miniumum: 2
# read-concurrency=8
## Parallelism in index jobs.
# Default: 1, Maximum: 8
# index-parallelism=1
## OPTIONAL #######################################################
# See https://docs.datomic.com/on-prem/aws.html
## Optional settings for rotating logs to S3
# (Can be auto-generated by bin/datomic ensure-transactor.)
# aws-s3-log-bucket-id=
## OPTIONAL #######################################################
# See https://docs.datomic.com/on-prem/aws.html
## Optional settings for Cloudwatch metrics.
# (Can be auto-generated by bin/datomic ensure-transactor.)
# aws-cloudwatch-region=
## Pick a unique name to distinguish transactor metrics from different systems.
# aws-cloudwatch-dimension-value=your-system-name
## OPTIONAL #######################################################
# See https://docs.datomic.com/on-prem/ha.html
## The transactor will write a heartbeat into storage on this interval.
## A standby transactor will take over if it sees the heartbeat go
## unwritten for 2x this interval. If your transactor load leads to
## long gc pauses, you can increase this number to prevent the standby
## transactor from unnecessarily taking over during a long gc pause.
# Default: 5000, Miniumum: 5000
# heartbeat-interval-msec=5000
## OPTIONAL #######################################################
## The transactor will use this partition for new entities that
## do not explicitly specify a partition.
# Default: :db.part/user
# default-partition=:db.part/user
Thanks in advance for helping. Any guidance here would be very appreciated.
I've copied this Dockerfile locally so I can make changes to it (I need to run ./bin/datomic ensure-transactor
), but before I did, I tried to run it as-is. However, I'm getting this error.
ERROR: for datomic Cannot start service datomic: oci runtime error: container_linux.go:247: starting container process caused "exec: \"./bin/transactor\": stat ./bin/transactor: no such file or directory"
I'm rather new to docker, so I'm not sure how to further debug this. The $DOCKER_HOME
env variable seems to be correct, as per the echo
.
I don't get this error when I depend on this docker image using FROM
.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.