ConcourseCI в Docker: mount: разрешение запрещено (вы root?) - PullRequest
0 голосов
/ 09 мая 2018

Запуск простого конвейера «Hello World» с ConcourseCI 3.13.0, работающим в Docker (docker-compose), вызывает следующую ошибку:

mount: permission denied (are you root?)

Моя настройка следующая:

Виртуальная машина Alpine Linux, выполняющая docker-compose со следующим docker-compose.yml:

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; mount: разрешение запрещено (вы root) , к сожалению, я не могу понять, как определить «priviledged» для «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 голосов
/ 20 мая 2018

Если вы видите проблемы с монтированием контейнера при запуске privileged: true, это чаще всего вызывает устаревшее ядро ​​, которое вызывает это.

...