Docker中的ConcourseCI:mount:权限被拒绝(你是root吗?)

时间:2018-05-09 08:41:43

标签: docker continuous-integration concourse

运行一个简单的" Hello World"在Docker(docker-compose)中运行的ConcourseCI 3.13.0的管道导致以下错误:

mount: permission denied (are you root?)

我的设置如下:

使用以下docker-compose.yml:

运行docker-compose的Alpine Linux VM
version: '3'
services:
  concourse-db:
    image: postgres
    environment:
    - POSTGRES_DB=concourse
    - POSTGRES_PASSWORD=concourse_pass
    - POSTGRES_USER=concourse_user
    - PGDATA=/database
    volumes:
    - ./database:/database

  concourse-web:
    image: concourse/concourse
    command: web
    links:
    - concourse-db
    depends_on:
    - concourse-db
    ports:
    - "8080:8080"
    volumes:
    - "./keys/web:/concourse-keys"
    environment:
    - CONCOURSE_POSTGRES_HOST=concourse-db
    - CONCOURSE_POSTGRES_USER=concourse_user
    - CONCOURSE_POSTGRES_PASSWORD=concourse_pass
    - CONCOURSE_POSTGRES_DATABASE=concourse
    - CONCOURSE_BASIC_AUTH_USERNAME=myuser
    - CONCOURSE_BASIC_AUTH_PASSWORD=mypass

  concourse-worker:
    image: concourse/concourse
    command: worker
    privileged: true
    links:
    - concourse-web
    depends_on:
    - concourse-web
    volumes:
    - ./keys/worker:/concourse-keys
    environment:
    - CONCOURSE_TSA_HOST=concourse-web:2222
    - CONCOURSE_GARDEN_NETWORK

我尝试运行的管道如下:

---
jobs:
- name: job-hello-world
  public: true
  plan:
  - task: hello-world
    config:
      platform: linux
      image_resource:
        type: docker-image
        source: {repository: busybox}
      run:
        path: echo
        args: [hello world]

广场工作者(在Docker内部)以root身份运行:

host:~/concourse# ps aux
....
16466 root       0:00 /usr/local/bin/concourse worker
....

我知道,有以下问题:ConcourseCI - docker-image resource issue; mount: permission denied (are you root?),不幸的是我无法弄清楚如何定义"特权"对于" image_resource"任务

我尝试了以下管道并得到了同样的错误:

---
jobs:
- name: job-hello-world
  public: true
  plan:
  - task: hello-world
    config:
      platform: linux
      image_resource:
        type: docker-image
        source: {repository: busybox}
      run:
        path: echo
        args: [hello world]
resource_types:
- name: docker-image
  privileged: true
  type: docker-image
  source:
    repository: concourse/docker-image-resource
    tag: latest

1 个答案:

答案 0 :(得分:1)

如果您在运行segments(-ins,ins,38,0,col=4,lwd=3,lty=2) 时遇到容器装入问题,则通常会导致outdated kernel导致此问题。