Trying to run Concourse-Ci on Ubuntu Azure machine

I just installed concourse-ci to an azure machine using ubuntu 18.04

I created a pipeline using the hello world example:

---
jobs:
  - name: job
    public: true
    plan:
      - task: simple-task
        config:
          platform: linux
          image_resource:
            type: registry-image
            source: { repository: busybox }
          run:
            path: echo
            args: ["Hello, world!"]

However, when I run it, it gives me the error:

    runc run: exit status 1: container_linux.go:346: starting container process caused 
    "process_linux.go:449: container init caused \"rootfs_linux.go:46: preparing rootfs caused 
    \\\"permission denied\\\"\"

What could be the issue?

I just tested your pipeline on our BOSH-deployed Concourse on AWS and it worked fine. This makes me think its something to do with your Concourse itself. How are you running the Concourse on azure?

Im using an ansible role from https://github.com/troykinsella/ansible-concourse, the atc and worker is on the same machine.

I changed something, and I think the worker may have been using the wrong port or not running the worker with escalated privileges, but no longer getting this error. But now getting

ERRO[0004] check failed: get remote image: Get https://index.docker.io/v2/: dial tcp: lookup index.docker.io on [::1]:53: read udp [::1]:58182->[::1]:53: read: connection refused

Im not too sure if I need to set the variables for garden? I do not need any special requirements, simply need to run a pipeline in its most basic form.

If it’s of any interest here is my ansible script:

---
- name: Setup concourse-ci server
  become: yes
  hosts: atc
  vars_files:
    - vars/main.yml
    - vault/concourse/keys.yml

  roles:
  - role: troykinsella.concourse
    concourse_web: yes
    concourse_host_key: "{{ host_key }}"
    concourse_authorized_worker_keys:
        - "{{ worker_public_key }}"
    concourse_session_signing_key: "{{ session_signing_key }}"
    concourse_postgres_host: localhost
    concourse_postgres_user: baz
    concourse_postgres_password: pass
    concourse_postgres_database: atc
    concourse_local_users:
        - name: admin
          password: admin
    concourse_main_team_local_users:
        - admin
    concourse_external_url: "<redacted>"
    concourse_bind_port: 80

- name: Setup concourse-ci workers
  hosts: workers
  become: yes
  vars_files:
    - vars/main.yml
    - vault/concourse/keys.yml

  roles:
    - role: troykinsella.concourse
      concourse_worker: yes
#      concourse_baggageclaim_driver: overlay
      concourse_tsa_public_key:  "{{ host_pub_key }}"
      concourse_tsa_host: 127.0.0.1:2222
      concourse_tsa_worker_key:  "{{ worker_key }}"
      concourse_worker_env:
          CONCOURSE_GARDEN_NETWORK_POOL: 10.254.0.0/16
          CONCOURSE_GARDEN_MAX_CONTAINERS: 512
          CONCOURSE_GARDEN_DOCKER_REGISTRY: docker.io/v2/
#          CONCOURSE_GARDEN_DNS_PROXY_ENABLE: true
#          CONCOURSE_WORKER_GARDEN_DNS_PROXY_ENABLE: true
"concourse.yml" 46L, 1469C

I see the connection refused is probably caused by using the Azure DNS, however it is odd that
docker pull works, but the concourse worker doesn’t, perhaps there is a setting for concourse worker i can use.

Ok didn’t expect to come with a solution as I didn’t know where to look as to my inexperience with Concourseci and azure. I thought I may had had to work through Azure or Ubuntu configs.

Setting

CONCOURSE_GARDEN_DNS_SERVER=8.8.8.8, allowed the worker to resolve the correct path.