直接发表给Docker Hub和github packages在directus/directus
下。 要使用Docker Hub的最新Directus镜像,请运行:
# 确保在生产环境中更改敏感值(KEY、SECRET等)
docker run \
-p 8055:8055 \
-e KEY=255d861b-5ea1-5996-9aa3-922530ec40b1 \
-e SECRET=6116487b-cda1-52c2-b5b5-c8022c45e263 \
directus/directus
安装指定版本
要使用更具体的 Directus 版本,可以使用以下标签之一:
- 完整版本,例如 9.0.0
- 次要版本,例如 9.0
- 主要版本,例如 9
- 要使用特定版本的 Directus,请运行:
# 确保在生产环境中更改敏感值(KEY、SECRET等)
docker run \
-p 8055:8055 \
-e KEY=255d861b-5ea1-5996-9aa3-922530ec40b1 \
-e SECRET=6116487b-cda1-52c2-b5b5-c8022c45e263 \
directus/directus:9.0.0
配置管理员用户
发布的 Docker 镜像将自动填充数据库并创建管理员用户。要配置此第一个用户的电子邮件/密码,请传递以下环境变量:
ADMIN_EMAIL="admin@example.com"
ADMIN_PASSWORD="d1r3ctu5"
数据持久性
容器是短暂的,这意味着每当您停止容器时,与之关联的所有数据都将被删除除非在创建容器时进行持久化。
Directus 镜像默认会使用以下位置进行数据持久化(请注意,可以通过环境变量更改这些位置):
/directus/uploads
用于上传文件/directus/database
(仅在使用 SQLite 且未配置到不同文件夹时)/directus/extensions
用于加载扩展
Docker Compose
使用 Docker Compose 时,您可以使用以下设置开始使用 - 确保在生产环境中更改所有敏感值(SECRET、DB_PASSWORD等):
version: '3'
services:
database:
container_name: database
image: postgis/postgis:13-master
volumes:
- ./data/database:/var/lib/postgresql/data
networks:
- directus
environment:
POSTGRES_USER: directus
POSTGRES_PASSWORD: directus
POSTGRES_DB: directus
cache:
container_name: cache
image: redis:6
networks:
- directus
directus:
container_name: directus
image: directus/directus:latest
ports:
- 8055:8055
volumes:
# 默认情况下,上传存储在 `/Directus/uploads` 中始终确保您的卷在使用本地驱动程序时与存储根相匹配
- ./uploads:/directus/uploads
# 使用sqlite时请确保已挂载volume
# - ./database:/directus/database
# 如果您想从主机加载扩展
# - ./extensions:/directus/extensions
networks:
- directus
depends_on:
- cache
- database
environment:
KEY: 255d861b-5ea1-5996-9aa3-922530ec40b1
SECRET: 6116487b-cda1-52c2-b5b5-c8022c45e263
DB_CLIENT: pg
DB_HOST: database
DB_PORT: '5432'
DB_DATABASE: directus
DB_USER: directus
DB_PASSWORD: directus
CACHE_ENABLED: 'true'
CACHE_STORE: redis
CACHE_REDIS: 'redis://cache:6379'
ADMIN_EMAIL: admin@example.com
ADMIN_PASSWORD: d1r3ctu5
# Make sure to set this in production
# (see https://docs.directus.io/self-hosted/config-options#general)
# PUBLIC_URL: 'https://directus.example.com'
networks:
directus:
用Docker撰写更新
如果您不为Directus映像使用latest
,则需要调整 docker-compose.yml
文件以增加标签版本号,例如:
- image: directus/directus:9.0.0-rc.101
+ image: directus/directus:9.0.0
您可以从 docker-compose 根目录下执行以下两个命令:
$ docker-compose pull
$ docker-compose up -d
图像将被拉动并重新创建容器。 迁移将自动发生,因此一旦容器启动,您将使用最新版本(或您指定的版本)。
支持的数据库
Directus Docker映像包含API中支持的所有可选依赖项。 这意味着可以与大多数支持的数据库和存储适配器一起使用Docker映像,而无需创建自定义图像。
OracleDB
OracledB的节点客户端(node-oracledB
)需要更多的本机依赖项和特定的配置才能运行。 官方Directus Docker映像不包括这些依赖项。 请参阅[https://blogs.oracle.com/opal/dockerfiles-for-node-oracledb-are-easy-and-simple]( - 兴趣和简单)有关包含oracledB的内容的更多信息。