-
Notifications
You must be signed in to change notification settings - Fork 356
Docker
Docker is a platform for making software reproducible, by reproducing the entire Linux environment it runs in.
We're still working on the best way to use Docker to work with ConceptNet. Right now it involves some long build times and large downloads. But it does make all the dependencies of ConceptNet explicit, and makes the process of setting it up absolutely repeatable.
These Docker images exist so far:
-
conceptnet-base: a base system with the dependencies needed to use ConceptNet with all its features. Includes Python 3.4, numpy, scipy, and the
assoc_space
library. - conceptnet-full: We built ConceptNet so you don't have to. This is a large (~50 GB) image containing the results of a full build of ConceptNet.
- conceptnet-web: An image that runs the ConceptNet Web server, including the browseable frontend and the API. The ConceptNet code and DB are included. The full build results are left out, so it's a smaller package than conceptnet-full.
Once you've got Docker set up, type this:
sudo docker run rspeer/conceptnet-web:5.3
Let it download all its stuff if it hasn't already. When it's done, you'll be running the ConceptNet 5.3 server on your computer, on port 10053.
This is a good question.
The conceptnet-full and conceptnet-web images contain the ConceptNet data inside them, in the directory /src/conceptnet/data
. But you may want to get at that data outside of Docker.
It would sound like this is what Docker volumes are for, but volumes aren't available when building.
What you can do is use docker cp
to copy the data out. Let's suppose the container ended up named rspeer/conceptnet-full
. (If it's not named something understandable like this, it'll at least have some sequence of hex digits as a name. Look for it on docker images
.) Then you'd run something like this:
sudo docker cp rspeer/conceptnet-full:/src/conceptnet/data ./data
(Instead of ./data
, you might really want /media/big_hard_drive/data
or something like that.)
If you have a better understanding of Docker and have a better recommendation on how to do this, please let us know on the conceptnet-users list.
Starting points
Reproducibility
Details