开发人员指南 > 开发人员指南 > Codebeamer 开发人员工具 > Docker > 如何使用外部卷运行 Docker 容器
如何使用外部卷运行 Docker 容器
*此页内容需要用到高级 Docker 和 Docker-Compose 专业知识。
*请知悉,以下 docker 设置仅用于评估目的,PTC 建议不要使用 docker 化数据库。
假设
主机上 ID 为 1001 的组。
以下是必需卷:
/home/appuser/Codebeamer/logs
/home/appuser/Codebeamer/update
/home/appuser/Codebeamer/repository/docs
/home/appuser/Codebeamer/repository/search
以下是可选卷:
/home/appuser/Codebeamer/repository/access
/home/appuser/Codebeamer/repository/svn
/home/appuser/Codebeamer/repository/git
/home/appuser/Codebeamer/repository/hg
/home/appuser/codebeamer/repository/reqif
/home/appuser/codebeamer/repository/config/logo
创建卷
docker volume create codebeamer-db-data
docker volume create codebeamer-app-repository-docs
获取卷的路径
docker volume inspect codebeamer-app-repository-docs
示例输出
[
{
"CreatedAt": "2019-02-13T15:03:35+01:00",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/codebeamer-app-repository-docs/_data",
"Name": "codebeamer-app-repository-docs",
"Options": {},
"Scope": "local"
}
]
路径是 "Mountpoint" 的值。
更改目录的组
sudo chgrp 1001 /var/lib/docker/volumes/codebeamer-app-repository-docs/_data
添加对组的写入权限
sudo chmod g+w /var/lib/docker/volumes/codebeamer-app-repository-docs/_data
检查目录的权限
sudo ls -al /var/lib/docker/volumes/codebeamer-app-repository-docs/
您应该会看到:
drwxrwxr-x 12 root <name_of_your_group> 4096 Feb 13 15:13 _data
其中,name_of_your_group 是 ID 为 1001 的组名称。
docker-compose 文件
external: true
添加至以下位置下的 docker-compose.yml
volume:
示例 docker-compose.yml
version: '3.4'


services:
codebeamer-db:
image: intland/mysql:5.7.21
environment:
- MYSQL_USER=user
- MYSQL_PASSWORD=pass
- MYSQL_DATABASE=codebeamer
- MYSQL_MAX_ALLOWED_PACKET=1024M
- MYSQL_INNODB_BUFFER_POOL_SIZE=1G
- MYSQL_INNODB_LOG_FILE_SIZE=256M
- MYSQL_INNODB_LOG_BUFFER_SIZE=256M
volumes:
- codebeamer-db-data:/var/lib/mysql/codebeamer

codebeamer-app:
image: intland/codebeamer:latest
depends_on:
- codebeamer-db
ports:
- 8888:8080
environment:
- CB_database_JDBC_Username=user
- CB_database_JDBC_Password=pass
- CB_database_JDBC_Driver=com.mysql.jdbc.Driver
- CB_database_JDBC_ConnectionURL=jdbc:mysql://container-mysql:3306/codebeamer?autoReconnect=true&zeroDateTimeBehavior=convertToNull&emulateLocators=true&characterEncoding=UTF-8&useSSL=false
- CB_database_JDBC_Timeout=120
- WAIT_HOSTS=container-mysql:3306
- WAIT_HOSTS_TIMEOUT=120
volumes:
- codebeamer-app-repository-docs:/home/appuser/codebeamer/repository/docs
links:
- codebeamer-db:container-mysql

volumes:
codebeamer-db-data:
name: codebeamer-db-data
external: true
codebeamer-app-repository-docs:
name: codebeamer-app-repository-docs
external: true
这对您有帮助吗?