You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
langchain/docker/DOCKER.md

1.6 KiB

Using Docker

To quickly get started, run the command make docker.

If docker is installed the Makefile will export extra targets in the fomrat docker.* to build and run the docker image. Type make for a list of available tasks.

There is a basic docker-compose.yml in the docker directory.

Building the development image

Using make docker will build the dev image if it does not exist, then drops you inside the container with the langchain environment available in the shell.

Customizing the image and installed dependencies

The image is built with a default python version and all extras and dev dependencies. It can be customized by changing the variables in the .env file.

If you don't need all the extra dependencies a slimmer image can be obtained by commenting out POETRY_EXTRA_PACKAGES in the .env file.

Image caching

The Dockerfile is optimized to cache the poetry install step. A rebuild is triggered when there a change to the source code.

Example Usage

All commands from langchain's python environment are available by default in the container.

A few examples:

# run jupyter notebook
docker run --rm -it IMG jupyter notebook

# run ipython
docker run --rm -it IMG ipython

# start web server
docker run --rm -p 8888:8888 IMG python -m http.server 8888

Testing / Linting

Tests and lints are run using your local source directory that is mounted on the volume /src.

Run unit tests in the container with make docker.test.

Run the linting and formatting checks with make docker.lint.

Note: this task can run in parallel using make -j4 docker.lint.