XWiki in Docker
Explanation
Running XWiki with Docker means deploying it as a set of containers instead of installing it manually. XWiki requires a servlet container and a database. The official XWiki Docker image aims at a production-ready XWiki system rather than at the smallest possible image.
With Docker, these are typically split into multiple containers:
- one container for the database
- one container for XWiki + the servlet container
This separation allows the database and XWiki application to run on different machines, if needed.
XWiki Docker Images and Tags
The official XWiki Docker Image provides multiple "tags", each corresponding to a specific configuration. Each tag is built from the corresponding Dockerfile. Out of the box, the official image supports:
- Servlet container: Tomcat,
- Databases: MySQL, PostgreSQL, MariaDB.
The "tag" naming strategy follows this pattern: <version>-<database>-<servlet_container>, for example 18.5.0-mysql-tomcat. If parts of the tag are omitted, the following defaults apply:
- Database: defaults to MySQL,
- Servlet container: defaults to Tomcat.
So 18.5.0 is equivalent to 18.5.0-mysql-tomcat, and stable-mysql to stable-mysql-tomcat. A tag that leaves out the minor or the patch number refers to the latest available version in that branch: 18 is the latest 18.x release, and 18.5 the latest 18.5.x one. There are also generic tags that name no version at all: latest and stable refer to the latest stable release, and lts to the latest long-term-support release.
FAQ
Is the database itself included in the image?
No, the image includes a JDBC driver for the specified database, it doesn't include the database itself. You need to run a separate database container.