Skip to content

Commit d3f004a

Browse files
committed
arm64 builds
1 parent dd5b24b commit d3f004a

File tree

4 files changed

+18
-41
lines changed

4 files changed

+18
-41
lines changed

README.md

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,13 @@ See the [Smaller containers](https://www.informaticsmatters.com/category/contain
1515

1616
For each RDKit version (image tag) we build a number of images:
1717

18-
* [informaticsmatters/rdkit-build-debian](https://hub.docker.com/r/informaticsmatters/rdkit-build-debian/) - this does a full build of RDKit from source. The result is a kitchen sink image (almost 2GB in size) that contains the entire build infrastructure and eveything that is built. The main purpose of this image is to build the artifacts needed for assembling the other lightweight images. Whist this image might be of some use for personal hacking it is NOT suitable for a public facing system as it is so large and has such a big attack surface. Earlier versions were named `informaticsmatters/rdkit-build`. NOTE: we have stopped pushing this image as it is large and not very useful.
19-
* [informaticsmatters/rdkit-python-debian](https://hub.docker.com/r/informaticsmatters/rdkit-python-debian/) - a Debian based distribution designed for running RDKit from Python 2. The image size is approx 400MB. The last Python 2 images are for the `Release_2018_09` release.
2018
* [informaticsmatters/rdkit-python3-debian](https://hub.docker.com/r/informaticsmatters/rdkit-python3-debian/) - a Debian based distribution designed for running RDKit from Python 3. These images start from the `Release_2019_03` release.
2119
* [informaticsmatters/rdkit-java-debian](https://hub.docker.com/r/informaticsmatters/rdkit-java-debian/) - a Debian based distribution designed for running RDKit from Java.
2220
* [informaticsmatters/rdkit-tomcat-debian](https://hub.docker.com/r/informaticsmatters/rdkit-tomcat-debian/) - a Debian based distribution designed for running a servlet in Apache Tomcat that uses the RDKit Java bindings. You need to provide the war file with the web application.
2321
* [informaticsmatters/rdkit-cartridge-debian](https://hub.docker.com/r/informaticsmatters/rdkit-cartridge-debian/) - a Debian based distribution with PostgreSQL and the RDKit cartridge. Note that we were unable to build cartridge images for the 2021_09 and 2022_03 based releases.
24-
* [informaticsmatters/rdkit-build-centos](https://hub.docker.com/r/informaticsmatters/rdkit-build-centos/) - Kitchen sink build image equivalent to `informaticsmatters/rdkit-build-debian`.
25-
* [informaticsmatters/rdkit-python3-centos](https://hub.docker.com/r/informaticsmatters/rdkit-python3-centos/) - a Centos based distribution designed for running RDKit from Python 3. Thes images start from the `Release_2019_09` release.
26-
* [informaticsmatters/rdkit-java-centos](https://hub.docker.com/r/informaticsmatters/rdkit-java-centos/) - a Centos based distribution designed for running RDKit from Java.
2722

28-
Note: we primarily focus on the Debian based images. Other platforms are not so well maintained.
23+
Note: we now focus on the Debian based images. In the past we also built on centos and fedora, but this caused too much
24+
of a maintenance problem.
2925

3026
## Branches
3127

@@ -73,28 +69,34 @@ Note: we primarily focus on the Debian based images. Other platforms are not so
7369
* `Release_2023_03_2` - build from RDKit Release_2023_03_2 release tag. These images should never change [1]. Images have tag of `Release_2023_03_2`
7470

7571

76-
[1] Where we say that the images should never change what we really mean in that the RDKit content should never change. We may rebuild these images occasionally when we find further improvements, and the underlying Centos/Debian packages may be updated, but the RDKit code should be exactly the same.
72+
[1] Where we say that the images should never change what we really mean in that the RDKit content should never change.
73+
We may rebuild these images occasionally when we find further improvements, and the underlying Debian packages may be
74+
updated, but the RDKit code should be exactly the same.
7775

78-
[2] These images were originally tagged as `Release_2018_03_01` (2 digits as the final number). For better consistency with the RDKit GitHub tag names we switched to using a single digit format. Tags with two digits are also present for backward compatibility and point to the equivalent single digit image. Please use the single digit format.
76+
[2] These images were originally tagged as `Release_2018_03_01` (2 digits as the final number). For better consistency
77+
with the RDKit GitHub tag names we switched to using a single digit format. Tags with two digits are also present for
78+
backward compatibility and point to the equivalent single digit image. Please use the single digit format.
7979

8080
GitHub repo for RDKit is [here](https://github.com/rdkit/rdkit).
8181
GitHub repo for this project is [here](https://github.com/InformaticsMatters/docker-rdkit)
8282

83-
To create images for a new version of RDKit you should only need to create a new branch from `master` and then edit `params.sh`.
83+
To create images for a new version of RDKit you should only need to create a new branch from the corresponding
84+
previous version and then edit `params.sh`.
8485

8586
## Build and run
8687

8788
Since October 2023 we have switched to a multi-stage build and are building images for amd64 and arm64 architectures.
88-
Thanks to @nmunro and @artran for assistance with building on arm64.
89+
Thanks to @nmunro and @artran for assistance with building on arm64. These arm64 images should be treated as
90+
experimental. Please report any issue you may find.
91+
8992
You need to use the `buildx` extensions to build these images. The Dockerfile-debian is the multi-stage Dockerfile
9093
that builds all the images, and it is run by executing `build-debian.sh`, which is parameterised through the contents
9194
of `params.sh`.
9295

9396
The `build` stage builds RDKit form the appropriate GitHub branch for RDKit, and creates the deb packages and the Java
9497
artifacts from it for use in the `python`, `java`, `tomcat` and `cartridge` stages.
95-
Each subsequent stage is run separately and the images pushed to dockerhub. Note: only the amd64 is currently built for
96-
the `tomcat` image.
97-
98+
Each subsequent stage is run separately and the images pushed to dockerhub.
99+
Note: only the amd64 is currently built for the `tomcat` image.
98100

99101
Run the Python image like this:
100102

@@ -178,11 +180,11 @@ rdkit=# \q
178180

179181
Notes:
180182

181-
1. You must initially connect to the database as the `postgres` user, hence the need for the `-u postgres` option for the `docker exec` command.
183+
1. You must initially connect to the database as the `postgres` user, hence the need for the `-u postgres` option for
184+
the `docker exec` command.
182185

183186
## Hopefully coming soon
184187

185188
* Tests for built images.
186189

187190
Requests also welcome!
188-

params.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
export DOCKER_TAG=experimental
1+
export DOCKER_TAG=latest
22
export GIT_REPO=https://github.com/rdkit/rdkit.git
33
export GIT_BRANCH=master
44
unset GIT_TAG

push-centos.sh

Lines changed: 0 additions & 12 deletions
This file was deleted.

push-debian.sh

Lines changed: 0 additions & 13 deletions
This file was deleted.

0 commit comments

Comments
 (0)