我正在尝试使用docker容器在服务器上运行Bamboo。当我在本地计算机上运行时,工作正常并且成功保存了数据。但是当我在服务器上运行相同的docker compose文件时,卷数据无法保存我的数据。
version: '3.2'
services:
bamboo:
container_name: bamboo-server_test
image: atlassian/bamboo-server
volumes:
- ./volumes/bamboo_test_vol:/var/atlassian/application-data/bamboo
ports:
- 8085:8085
volumes:
bamboo_test_vol:
$ docker-compose up -d
Creating network "test_default" with the default driver
Creating volume "test_bamboo_test_vol" with default driver
Creating bamboo-server_test ... done
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
916c98ca1a9d atlassian/bamboo-server "/entrypoint.sh" 24 minutes ago Up 24 minutes 0.0.0.0:8085->8085/tcp, 54663/tcp bamboo-server_test
$ ls
docker-compose.yml volumes
$ cd volumes/bamboo_test_vol/
$ ls
bamboo.cfg.xml logs
$ ssh <name>@<ip_address>
password for <name>:
$ docker-compose up -d
Creating network "test_default" with the default driver
Creating volume "test_bamboo_test_vol" with default driver
Creating bamboo-server_test ... done
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
38b77e1b736f atlassian/bamboo-server "/entrypoint.sh" 12 seconds ago Up 11 seconds 0.0.0.0:8085->8085/tcp, 54663/tcp bamboo-server_test
$ ls
docker-compose.yml volumes
$ cd volumes/
$ cd bamboo_test_vol/
$ ls
$ # VOLUME PATH IS EMPTY
当我为jira软件尝试相同的过程时,我没有这个问题。即使我使用完全相同的撰写文件,为什么它也不能在Bamboo服务器上工作?
答案 0 :(得分:0)
当我想用我安装的Bamboo主机目录的主机卷升级Bamboo服务器实例时,我遇到了同样的问题。
以下是我的 docker-compose 文件中的
version: '2.2'
bamboo-server:
image: atlassian/bamboo-server:${BAMBOO_VERSION}
container_name: bamboo-server
environment:
TZ: 'Europe/Berlin'
restart: always
init: true
volumes:
- ./bamboo/bamboo-server/data:/var/atlassian/application-data/bamboo
ports:
- "8085:8085"
- "54663:54663"
当我从docker-compose up -d bamboo-server
开始时,该容器从未从主机系统中获取文件。因此,我首先按照Atlassian Bamboo的说明使用以下命令在没有docker-compose的情况下进行了尝试:
docker run -v ./bamboo/bamboo-server/data:/var/atlassian/application-data/bamboo --name="bamboo-server" --init -d -p 54663:54663 -p 8085:8085 atlassian/bamboo-server:${BAMBOO_VERSION}
显示以下错误消息:
docker:来自守护程序的错误响应:create ./bamboo/bamboo-server/data:“ ./bamboo/bamboo-server/data”包含本地卷名的无效字符,只有“ [a-zA-Z0- 9] [a-zA-Z0-9 _.-]“被允许。如果要传递主机目录,请使用绝对路径。
所以我转换了错误消息并采用了绝对路径:
docker run -v /var/project/bamboo/bamboo-server/data:/var/atlassian/application-data/bamboo --name="bamboo-server" --init -d -p 54663:54663 -p 8085:8085 atlassian/bamboo-server:${BAMBOO_VERSION}
成功启动后,我通过SSH切换到docker容器,所有文件都像往常一样在docker目录中。
我将整个内容转移到docker-compose文件中,并在“卷”部分中获取了绝对路径。随后,它还与docker-compose文件配合使用。
我的 docker-compose 文件如下所示:
[...]
init: true
volumes:
- /var/project/bamboo/bamboo-server/data:/var/atlassian/application-data/bamboo
ports:
[...]
答案 1 :(得分:0)
由于这些原因,不支持设置容器化的Bamboo Server;