Docker
Docker is a tool that enables you to create, deploy, and manage lightweight, stand-alone packages that contain everything needed to run an application. It can help us to avoid conflicting dependencies & unwanted behavior when running Docusaurus.
#
Run the local web server in dockerEnsure you have previously installed docker.
To run the local web server:
Build the docker image -- Enter the folder where you have Docusaurus installed. Run
docker build -t docusaurus-doc .
Once the build phase finishes, you can verify the image exists by running
docker images
.We now include a
Dockerfile
when you install Docusaurus.Run the Docusaurus container -- To start docker run
docker run --rm -p 3000:3000 docusaurus-doc
This will start a docker container with the image
docusaurus-doc
. To see more detailed container info rundocker ps
.
#
Use docker-composeWe can also use docker-compose
to configure our application. This feature of docker allows you to run the web server and any additional services with a single command.
Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application’s services. Then, with a single command, you create and start all the services from your configuration.
Using Compose is a three-step process:
Define your app’s environment with a Dockerfile so it can be reproduced anywhere.
Define the services that make up your app in
docker-compose.yml
so they can be run together in an isolated environment.Run
docker-compose up
and Compose starts and runs your entire app.
We include a basic docker-compose.yml
in your project:
To run a local web server with docker-compose
run docker-compose up
.
To build static HTML pages for publishing run docker-compose run docusaurus bash -c 'yarn publish-gh-pages'