在服务器上运行Bamboo容器时,卷数据未填充

时间:2019-09-26 06:28:51

标签: docker docker-compose docker-volume

我正在尝试使用docker容器在服务器上运行Bamboo。当我在本地计算机上运行时,工作正常并且成功保存了数据。但是当我在服务器上运行相同的docker compose文件时,卷数据无法保存我的数据。

docker-compose.yml

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

localhost:8085

enter image description here

在服务器上运行此撰写文件

$ 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

server_ip:8085

enter image description here

当我为jira软件尝试相同的过程时,我没有这个问题。即使我使用完全相同的撰写文件,为什么它也不能在Bamboo服务器上工作?

2 个答案:

答案 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;

  • 默认情况下,不再在Docker中处理存储库存储的规范(RSS)。无法在Docker中运行RSS,因为;
  • 默认情况下,Bamboo服务器上没有添加Docker功能,
  • 设置将需要在Docker中运行Docker。
相关问题