Developer's Guide > Developer's Guide > Codebeamer Developer Tools > Docker > How to Run Docker Container with External Volumes
How to Run Docker Container with External Volumes
* 
This page requires advanced Docker and Docker-Compose know how.
* 
Please note that the following docker setup is only for Evaluation purposes, PTC does not recommend using a dockerized database
Assumptions
Group with id 1001 on the host machine.
Volumes
The following are Mandatory Volumes:
/home/appuser/Codebeamer/logs.
/home/appuser/Codebeamer/update.
/home/appuser/Codebeamer/repository/docs.
/home/appuser/Codebeamer/repository/search.
The following are Optional Volumes:
/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
Create volume
docker volume create --name=codebeamer-db-data

docker volume create --name=codebeamer-app-repository-docs
Get the path of the volume
docker volume inspect codebeamer-app-repository-docs
Example output
[

{

"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"

}

]
Path is the value of "Mountpoint".
Change group of the directory
sudo chgrp 1001 /var/lib/docker/volumes/codebeamer-app-repository-docs/_data
Add write acces to the group
sudo chmod g+w /var/lib/docker/volumes/codebeamer-app-repository-docs/_data
Check the permissions of the directory
sudo ls -al /var/lib/docker/volumes/codebeamer-app-repository-docs/
You should see:
drwxrwxr-x 12 root <name_of_your_group> 4096 Feb 13 15:13 _data
Where name_of_your_group is the name of your group with id 1001.
Docker-compose file
add.
external: true
to docker-compose.yml under.
volume:
Example 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
Was this helpful?