1、首先,在宿主机上创建一个目录,用于存放 Docker 配置文件和数据
mkdir -p /data/docker/organizr/config
mkdir -p /data/docker/mariadb
2、创建 Docker Compose 配置文件
services:
organizr:
image: organizr/organizr
container_name: organizr
ports:
- "8081:80" # 将宿主机的 8081 端口映射到容器的 80 端口
environment:
- DB_HOST=mariadb # MariaDB 的服务名(容器名)
- DB_PORT=3306 # MariaDB 默认端口
- DB_NAME=organizr # 数据库名称
- DB_USER=root # 数据库用户名
- DB_PASSWORD=yourpassword # 数据库密码
volumes:
- /data/docker/organizr/config:/config # 配置文件持久化到宿主机
networks:
- organizr-network
restart: unless-stopped
mariadb:
image: mariadb:latest
container_name: mariadb
environment:
MYSQL_ROOT_PASSWORD: yourpassword # 设置 MariaDB root 用户的密码
MYSQL_DATABASE: organizr # 创建一个数据库
MYSQL_USER: organizr_user # 创建一个数据库用户
MYSQL_PASSWORD: organizr_password # 设置用户密码
volumes:
- /data/docker/mariadb:/var/lib/mysql # 将数据库数据持久化到宿主机
networks:
- organizr-network
restart: unless-stopped
ports:
- "3307:3306" # 将宿主机的 3307 端口映射到 MariaDB 容器的 3306 端口,避免与其他服务冲突
networks:
organizr-network:
driver: bridge
3、Organizr 服务:使用 organizr/organizr镜像,设置容器名称为 organizr,将容器的 80 端口映射到宿主机的 8081 端口。配置环境变量以连接到 MariaDB 数据库,包括数据库主机、端口、用户名、密码等。持久化配置文件到宿主机 /data/docker/organizr/config目录。通过 organizr-network网络将 Organizr 和 MariaDB 连接起来。
4、MariaDB 服务:使用 mariadb:latest镜像,设置容器名称为 mariadb。配置 MYSQL_ROOT_PASSWORD为 MariaDB root 用户的密码,MYSQL_DATABASE 创建默认数据库 organizr,以及创建 organizr_user用户并设置密码。将数据库数据持久化到宿主机 /data/docker/mariadb目录。将宿主机的 3307 端口映射到 MariaDB 容器的 3306 端口,以避免与其他服务的端口冲突。使用 organizr-network网络与 Organizr 服务连接。
5、网络:使用 organizr-network桥接网络,确保两个容器之间能够互相通信。
本文通过 Docker Compose 配置了一个包含 Organizr和 MariaDB的 Web 面板环境,帮助用户实现对多个应用的集中管理。我们通过配置文件持久化数据,避免了服务的端口冲突,并确保了两个容器之间能够顺利通信。
如果喜欢这篇文章,请点下方在看,
后续推荐更多类似文章