Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Got 'fill out specgen: /home/coder/: duplicate mount destination' error when create container #15518

Closed
FourLeafTec opened this issue Aug 27, 2022 · 4 comments
Labels
kind/bug Categorizes issue or PR as related to a bug. locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments.

Comments

@FourLeafTec
Copy link

FourLeafTec commented Aug 27, 2022

Is this a BUG REPORT

/kind bug

Description

I have use Coder to create a docker-code-server with terraform-provider-docker by unix-socket api,
Then I got a 'fill out specgen: /home/coder/: duplicate mount destination' error when create container.
It's maybe similarity with #11822
And I can't give detail clearly, it's too deep for me to show this.
But I will try show how to get this error.

Steps to reproduce the issue:

  1. User compose.yaml to install coder
compose.yaml
version: 3.9
services:
  coder:
    # This MUST be stable for our documentation and
    # other automations.
    image: ghcr.io/coder/coder:${CODER_VERSION:-latest}
    container_name: coder
    # user: "${UID:-1001}:${GID:-1001}"
    # privileged: true
    # security_opt:
    #   - "label=disabled"
    ports:
      - "7080:7080"
    environment:
      CODER_PG_CONNECTION_URL: "postgresql://${POSTGRES_USER:-username}:${POSTGRES_PASSWORD:-password}@database/${POSTGRES_DB:-coder}?sslmode=disable"
      # You'll need to set CODER_ACCESS_URL to an IP or domain
      # that workspaces can reach. This cannot be localhost
      # or 127.0.0.1 for non-Docker templates!
      CODER_ADDRESS: "0.0.0.0:7080"
      CODER_ACCESS_URL: "${CODER_ACCESS_URL}"
    volumes:
      - coder_data:/home/coder
      - /run/user/${UID:-1001}/podman/podman.sock:/var/run/docker.sock
    depends_on:
      database:
        condition: service_healthy
  database:
    image: postgres:14
    container_name: database
    ports:
      - "5432:5432"
    environment:
      POSTGRES_USER: ${POSTGRES_USER:-username} # The PostgreSQL user (useful to connect to the database)
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-password} # The PostgreSQL password (useful to connect to the database)
      POSTGRES_DB: ${POSTGRES_DB:-coder} # The PostgreSQL default database (automatically created at first launch)
    volumes:
      - db_data:/var/lib/postgresql/data # Use "docker volume rm pod_db_data" to reset Coder
    healthcheck:
      test:
        [
          "CMD-SHELL",
          "pg_isready -U ${POSTGRES_USER:-username} -d ${POSTGRES_DB:-coder}",
        ]
      interval: 5s
      timeout: 5s
      retries: 5
volumes:
  coder_data:
  db_data:
    driver: local
  1. run podman exec -it coder /bin/sh to attach then container.

  2. run /opt/coder templates init in conatiner and select docker-code-server.

  3. run /opt/coder templates create to install template to coder

  4. run /opt/coder create --template="docker-code-server" workspace to create the workspace conatiner.

Describe the results you received:

Error: Unable to create container: Error response from daemon: fill out specgen: /home/coder/: duplicate mount destination

Additional information you deem important (e.g. issue happens only occasionally):

Maybe the volume config generate with
https://github.com/kreuzwerker/terraform-provider-docker/blob/074c94cabc2ea3d1132c27f89f1ae05758f04146/internal/provider/resource_docker_container_funcs.go#L119

Output of podman version:

Client:       Podman Engine
Version:      4.2.0
API Version:  4.2.0
Go Version:   go1.19
Built:        Thu Jan  1 00:00:00 1970
OS/Arch:      linux/arm64
Output of `podman info`:
host:
  arch: arm64
  buildahVersion: 1.27.0
  cgroupControllers:
  - memory
  - pids
  cgroupManager: systemd
  cgroupVersion: v2
  conmon:
    package: conmon_2.0.25+ds1-1.1_arm64
    path: /usr/bin/conmon
    version: 'conmon version 2.0.25, commit: unknown'
  cpuUtilization:
    idlePercent: 99.25
    systemPercent: 0.29
    userPercent: 0.46
  cpus: 4
  distribution:
    codename: jammy
    distribution: ubuntu
    version: "22.04"
  eventLogger: journald
  hostname: arm
  idMappings:
    gidmap:
    - container_id: 0
      host_id: 1001
      size: 1
    - container_id: 1
      host_id: 165536
      size: 65536
    uidmap:
    - container_id: 0
      host_id: 1001
      size: 1
    - container_id: 1
      host_id: 165536
      size: 65536
  kernel: 5.15.0-1016-oracle
  linkmode: dynamic
  logDriver: journald
  memFree: 15406243840
  memTotal: 25153306624
  networkBackend: cni
  ociRuntime:
    name: crun
    package: crun_0.17+dfsg-1.1_arm64
    path: /usr/bin/crun
    version: |-
      crun version 0.17
      commit: 0e9229ae34caaebcb86f1fde18de3acaf18c6d9a
      spec: 1.0.0
      +SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +YAJL
  os: linux
  remoteSocket:
    exists: true
    path: /run/user/1001/podman/podman.sock
  security:
    apparmorEnabled: false
    capabilities: CAP_CHOWN,CAP_DAC_OVERRIDE,CAP_FOWNER,CAP_FSETID,CAP_KILL,CAP_NET_BIND_SERVICE,CAP_SETFCAP,CAP_SETGID,CAP_SETPCAP,CAP_SETUID,CAP_SYS_CHROOT
    rootless: true
    seccompEnabled: true
    seccompProfilePath: /usr/share/containers/seccomp.json
    selinuxEnabled: false
  serviceIsRemote: false
  slirp4netns:
    executable: /usr/bin/slirp4netns
    package: slirp4netns_1.0.1-2_arm64
    version: |-
      slirp4netns version 1.0.1
      commit: 6a7b16babc95b6a3056b33fb45b74a6f62262dd4
      libslirp: 4.6.1
  swapFree: 0
  swapTotal: 0
  uptime: 9h 53m 42.00s (Approximately 0.38 days)
plugins:
  authorization: null
  log:
  - k8s-file
  - none
  - passthrough
  - journald
  network:
  - bridge
  - macvlan
  - ipvlan
  volume:
  - local
registries:
  search:
  - docker.io
store:
  configFile: /home/ubuntu/.config/containers/storage.conf
  containerStore:
    number: 2
    paused: 0
    running: 2
    stopped: 0
  graphDriverName: vfs
  graphOptions: {}
  graphRoot: /home/ubuntu/.local/share/containers/storage
  graphRootAllocated: 48277495808
  graphRootUsed: 10204434432
  graphStatus: {}
  imageCopyTmpDir: /var/tmp
  imageStore:
    number: 3
  runRoot: /run/user/1001/containers
  volumePath: /home/ubuntu/.local/share/containers/storage/volumes
version:
  APIVersion: 4.2.0
  Built: 0
  BuiltTime: Thu Jan  1 00:00:00 1970
  GitCommit: ""
  GoVersion: go1.19
  Os: linux
  OsArch: linux/arm64
  Version: 4.2.0

Package info (e.g. output of rpm -q podman or apt list podman):

podman/now 4.2.0+ds1-3 arm64 [installed,local]

Have you tested with the latest version of Podman and have you checked the Podman Troubleshooting Guide? (https://github.com/containers/podman/blob/main/troubleshooting.md)

Yes

Additional environment details (AWS, VirtualBox, physical, etc.):

Arm64 with Oracle Cloud Infrastructure (OCI)

@mheon
Copy link
Member

mheon commented Aug 29, 2022

Can you run the Podman API server manually via podman system service -t 0 --log-level=trace and provide logs of the API requests that are made to Podman?

@FourLeafTec
Copy link
Author

Yes, but it seems no more output when error.

❯ podman system service -t 0 --log-level=trace
INFO[0000] podman filtering at log level trace          
DEBU[0000] Called service.PersistentPreRunE(podman system service -t 0 --log-level=trace) 
TRAC[0000] Reading configuration file "/usr/share/containers/containers.conf" 
DEBU[0000] Merged system config "/usr/share/containers/containers.conf" 
TRAC[0000] &{Containers:{Devices:[] Volumes:[] ApparmorProfile:containers-default-0.49.1 Annotations:[] BaseHostsFile: CgroupNS:private Cgroups:enabled DefaultCapabilities:[CHOWN DAC_OVERRIDE FOWNER FSETID KILL NET_BIND_SERVICE SETFCAP SETGID SETPCAP SETUID SYS_CHROOT] DefaultSysctls:[net.ipv4.ping_group_range=0 0] DefaultUlimits:[] DefaultMountsFile: DNSServers:[] DNSOptions:[] DNSSearches:[] EnableKeyring:true EnableLabeling:false Env:[PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin TERM=xterm] EnvHost:false HostContainersInternalIP: HTTPProxy:true Init:false InitPath: IPCNS:shareable LogDriver:journald LogSizeMax:-1 LogTag: NetNS:private NoHosts:false PidsLimit:2048 PidNS:private PrepareVolumeOnCreate:false SeccompProfile: ShmSize:65536k TZ: Umask:0022 UTSNS:private UserNS: UserNSSize:65536} Engine:{CgroupCheck:false CgroupManager:systemd ConmonEnvVars:[PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin] ConmonPath:[/usr/libexec/podman/conmon /usr/local/libexec/podman/conmon /usr/local/lib/podman/conmon /usr/bin/conmon /usr/sbin/conmon /usr/local/bin/conmon /usr/local/sbin/conmon /run/current-system/sw/bin/conmon] CompatAPIEnforceDockerHub:true DetachKeys:ctrl-p,ctrl-q EnablePortReservation:true Env:[] EventsLogFilePath:/run/user/1001/libpod/tmp/events/events.log EventsLogFileMaxSize:1000000 EventsLogger:journald graphRoot:/home/ubuntu/.local/share/containers/storage HelperBinariesDir:[/usr/local/libexec/podman /usr/local/lib/podman /usr/libexec/podman /usr/lib/podman] HooksDir:[/usr/share/containers/oci/hooks.d] ImageBuildFormat:oci ImageDefaultTransport:docker:// ImageParallelCopies:0 ImageDefaultFormat: ImageVolumeMode:bind InfraCommand: InfraImage: InitPath:/usr/libexec/podman/catatonit LockType:shm MachineEnabled:false MultiImageArchive:false Namespace: NetworkCmdPath: NetworkCmdOptions:[] NoPivotRoot:false NumLocks:2048 OCIRuntime:crun OCIRuntimes:map[crun:[/usr/bin/crun /usr/sbin/crun /usr/local/bin/crun /usr/local/sbin/crun /sbin/crun /bin/crun /run/current-system/sw/bin/crun] kata:[/usr/bin/kata-runtime /usr/sbin/kata-runtime /usr/local/bin/kata-runtime /usr/local/sbin/kata-runtime /sbin/kata-runtime /bin/kata-runtime /usr/bin/kata-qemu /usr/bin/kata-fc] krun:[/usr/bin/krun /usr/local/bin/krun] runc:[/usr/bin/runc /usr/sbin/runc /usr/local/bin/runc /usr/local/sbin/runc /sbin/runc /bin/runc /usr/lib/cri-o-runc/sbin/runc /run/current-system/sw/bin/runc] runj:[/usr/local/bin/runj] runsc:[/usr/bin/runsc /usr/sbin/runsc /usr/local/bin/runsc /usr/local/sbin/runsc /bin/runsc /sbin/runsc /run/current-system/sw/bin/runsc]] PodExitPolicy:continue PullPolicy:missing Remote:false RemoteURI: RemoteIdentity: ActiveService: ServiceDestinations:map[] RuntimePath:[] RuntimeSupportsJSON:[crun runc kata runsc krun] RuntimeSupportsNoCgroups:[crun krun] RuntimeSupportsKVM:[kata kata-runtime kata-qemu kata-fc krun] SetOptions:{StorageConfigRunRootSet:false StorageConfigGraphRootSet:false StorageConfigGraphDriverNameSet:false StaticDirSet:false VolumePathSet:false TmpDirSet:false} SignaturePolicyPath:/etc/containers/policy.json SDNotify:false StateType:3 ServiceTimeout:5 StaticDir:/home/ubuntu/.local/share/containers/storage/libpod StopTimeout:10 ExitCommandDelay:300 ImageCopyTmpDir:/var/tmp TmpDir:/run/user/1001/libpod/tmp VolumePath:/home/ubuntu/.local/share/containers/storage/volumes VolumePlugins:map[] ChownCopiedFiles:true CompressionFormat:} Machine:{CPUs:1 DiskSize:100 Image:testing Memory:2048 User:core Volumes:[$HOME:$HOME]} Network:{NetworkBackend: CNIPluginDirs:[/usr/local/libexec/cni /usr/libexec/cni /usr/local/lib/cni /usr/lib/cni /opt/cni/bin] DefaultNetwork:podman DefaultSubnet:10.88.0.0/16 DefaultSubnetPools:[{Base:10.89.0.0/16 Size:24} {Base:10.90.0.0/15 Size:24} {Base:10.92.0.0/14 Size:24} {Base:10.96.0.0/11 Size:24} {Base:10.128.0.0/9 Size:24}] NetworkConfigDir: DNSBindPort:0} Secrets:{Driver:file Opts:map[]} ConfigMaps:{Driver: Opts:map[]}} 
DEBU[0000] Using conmon: "/usr/bin/conmon"              
DEBU[0000] Initializing boltdb state at /home/ubuntu/.local/share/containers/storage/libpod/bolt_state.db 
DEBU[0000] systemd-logind: Unknown object '/'.          
DEBU[0000] Using graph driver vfs                       
DEBU[0000] Using graph root /home/ubuntu/.local/share/containers/storage 
DEBU[0000] Using run root /run/user/1001/containers     
DEBU[0000] Using static dir /home/ubuntu/.local/share/containers/storage/libpod 
DEBU[0000] Using tmp dir /run/user/1001/libpod/tmp      
DEBU[0000] Using volume path /home/ubuntu/.local/share/containers/storage/volumes 
DEBU[0000] Set libpod namespace to ""                   
DEBU[0000] [graphdriver] trying provided driver "vfs"   
DEBU[0000] Initializing event backend journald          
DEBU[0000] Configured OCI runtime runj initialization failed: no valid executable found for OCI runtime runj: invalid argument 
DEBU[0000] Configured OCI runtime kata initialization failed: no valid executable found for OCI runtime kata: invalid argument 
DEBU[0000] Configured OCI runtime runsc initialization failed: no valid executable found for OCI runtime runsc: invalid argument 
DEBU[0000] Configured OCI runtime krun initialization failed: no valid executable found for OCI runtime krun: invalid argument 
TRAC[0000] found runtime "/usr/bin/crun"                
TRAC[0000] found runtime "/usr/bin/runc"                
DEBU[0000] Using OCI runtime "/usr/bin/crun"            
INFO[0000] Setting parallel job count to 13             
DEBU[0000] registered SIGHUP watcher for config         
INFO[0000] API service listening on "/run/user/1001/podman/podman.sock". URI: "unix:/run/user/1001/podman/podman.sock" 
DEBU[0000] CORS Headers were not set                    
INFO[0000] API service listening on "/run/user/1001/podman/podman.sock" 
DEBU[0000] waiting for SIGHUP to reload configuration   
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/auth 
TRAC[0000] Methods:   POST Path: /auth                  
TRAC[0000] Methods: GET, PUT, HEAD Path: /v{version:[0-9][0-9A-Za-z.-]*}/containers/{name}/archive 
TRAC[0000] Methods: GET, PUT, HEAD Path: /containers/{name}/archive 
TRAC[0000] Methods: GET, PUT, HEAD Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/containers/{name}/archive 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/containers/create 
TRAC[0000] Methods:   POST Path: /containers/create     
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/containers/json 
TRAC[0000] Methods:    GET Path: /containers/json       
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/containers/prune 
TRAC[0000] Methods:   POST Path: /containers/prune      
TRAC[0000] Methods: DELETE Path: /v{version:[0-9][0-9A-Za-z.-]*}/containers/{name} 
TRAC[0000] Methods: DELETE Path: /containers/{name}     
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/containers/{name}/json 
TRAC[0000] Methods:    GET Path: /containers/{name}/json 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/containers/{name}/kill 
TRAC[0000] Methods:   POST Path: /containers/{name}/kill 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/containers/{name}/logs 
TRAC[0000] Methods:    GET Path: /containers/{name}/logs 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/containers/{name}/pause 
TRAC[0000] Methods:   POST Path: /containers/{name}/pause 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/containers/{name}/restart 
TRAC[0000] Methods:   POST Path: /containers/{name}/restart 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/containers/{name}/start 
TRAC[0000] Methods:   POST Path: /containers/{name}/start 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/containers/{name}/stats 
TRAC[0000] Methods:    GET Path: /containers/{name}/stats 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/containers/{name}/stop 
TRAC[0000] Methods:   POST Path: /containers/{name}/stop 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/containers/{name}/top 
TRAC[0000] Methods:    GET Path: /containers/{name}/top 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/containers/{name}/unpause 
TRAC[0000] Methods:   POST Path: /containers/{name}/unpause 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/containers/{name}/wait 
TRAC[0000] Methods:   POST Path: /containers/{name}/wait 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/containers/{name}/attach 
TRAC[0000] Methods:   POST Path: /containers/{name}/attach 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/containers/{name}/resize 
TRAC[0000] Methods:   POST Path: /containers/{name}/resize 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/containers/{name}/export 
TRAC[0000] Methods:    GET Path: /containers/{name}/export 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/containers/{name}/rename 
TRAC[0000] Methods:   POST Path: /containers/{name}/rename 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/containers/create 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/containers/json 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/containers/prune 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/containers/showmounted 
TRAC[0000] Methods: DELETE Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/containers/{name} 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/containers/{name}/json 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/containers/{name}/kill 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/containers/{name}/mount 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/containers/{name}/unmount 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/containers/{name}/logs 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/containers/{name}/pause 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/containers/{name}/restart 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/containers/{name}/start 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/containers/{name}/stats 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/containers/stats 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/containers/{name}/top 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/containers/{name}/unpause 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/containers/{name}/wait 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/containers/{name}/exists 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/containers/{name}/stop 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/containers/{name}/attach 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/containers/{name}/resize 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/containers/{name}/export 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/containers/{name}/checkpoint 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/containers/{name}/restore 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/containers/{name}/changes 
TRAC[0000] Methods:    GET Path: /containers/{name}/changes 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/containers/{name}/changes 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/containers/{name}/init 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/containers/{name}/rename 
TRAC[0000] Methods:  <N/A> Path: /v{version:[0-9][0-9A-Za-z.-]*}/distribution/{name}/json 
TRAC[0000] Methods:  <N/A> Path: /distribution/{name}/json 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/events 
TRAC[0000] Methods:    GET Path: /events                
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/events 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/containers/{name}/exec 
TRAC[0000] Methods:   POST Path: /containers/{name}/exec 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/exec/{id}/start 
TRAC[0000] Methods:   POST Path: /exec/{id}/start       
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/exec/{id}/resize 
TRAC[0000] Methods:   POST Path: /exec/{id}/resize      
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/exec/{id}/json 
TRAC[0000] Methods:    GET Path: /exec/{id}/json        
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/containers/{name}/exec 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/exec/{id}/start 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/exec/{id}/resize 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/exec/{id}/json 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/generate/{name:.*}/systemd 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/generate/kube 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/containers/{name:.*}/healthcheck 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/images/create 
TRAC[0000] Methods:   POST Path: /images/create         
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/images/create 
TRAC[0000] Methods:   POST Path: /images/create         
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/images/json 
TRAC[0000] Methods:    GET Path: /images/json           
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/images/load 
TRAC[0000] Methods:   POST Path: /images/load           
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/images/prune 
TRAC[0000] Methods:   POST Path: /images/prune          
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/images/search 
TRAC[0000] Methods:    GET Path: /images/search         
TRAC[0000] Methods: DELETE Path: /v{version:[0-9][0-9A-Za-z.-]*}/images/{name:.*} 
TRAC[0000] Methods: DELETE Path: /images/{name:.*}      
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/images/{name:.*}/push 
TRAC[0000] Methods:   POST Path: /images/{name:.*}/push 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/images/{name:.*}/get 
TRAC[0000] Methods:    GET Path: /images/{name:.*}/get  
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/images/get 
TRAC[0000] Methods:    GET Path: /images/get            
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/images/{name:.*}/history 
TRAC[0000] Methods:    GET Path: /images/{name:.*}/history 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/images/{name:.*}/json 
TRAC[0000] Methods:    GET Path: /images/{name:.*}/json 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/images/{name:.*}/tag 
TRAC[0000] Methods:   POST Path: /images/{name:.*}/tag  
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/commit 
TRAC[0000] Methods:   POST Path: /commit                
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/build 
TRAC[0000] Methods:   POST Path: /build                 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/images/{name:.*}/push 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/images/{name:.*}/exists 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/images/{name:.*}/tree 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/images/{name:.*}/history 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/images/json 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/images/load 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/images/import 
TRAC[0000] Methods: DELETE Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/images/remove 
TRAC[0000] Methods: DELETE Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/images/{name:.*} 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/images/pull 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/images/prune 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/images/search 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/images/{name:.*}/get 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/images/export 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/images/{name:.*}/json 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/images/{name:.*}/tag 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/commit 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/images/{name:.*}/untag 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/images/{name}/changes 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/build 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/images/scp/{name:.*} 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/info 
TRAC[0000] Methods:    GET Path: /info                  
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/info 
TRAC[0000] Methods:  <N/A> Path: /v{version:[0-3][0-9A-Za-z.-]*}/libpod/manifests 
TRAC[0000] Methods:   POST Path: /v{version:[0-3][0-9A-Za-z.-]*}/libpod/manifests/{name}/push 
TRAC[0000] Methods:   POST Path: /v{version:[0-3][0-9A-Za-z.-]*}/libpod/manifests/create 
TRAC[0000] Methods:    GET Path: /v{version:[0-3][0-9A-Za-z.-]*}/libpod/manifests/{name:.*}/exists 
TRAC[0000] Methods:    GET Path: /v{version:[0-3][0-9A-Za-z.-]*}/libpod/manifests/{name:.*}/json 
TRAC[0000] Methods:   POST Path: /v{version:[0-3][0-9A-Za-z.-]*}/libpod/manifests/{name:.*}/add 
TRAC[0000] Methods: DELETE Path: /v{version:[0-3][0-9A-Za-z.-]*}/libpod/manifests/{name:.*} 
TRAC[0000] Methods:  <N/A> Path: /v{version:[4-9][0-9A-Za-z.-]*}/libpod/manifests 
TRAC[0000] Methods:   POST Path: /v{version:[4-9][0-9A-Za-z.-]*}/libpod/manifests/{name:.*}/registry/{destination:.*} 
TRAC[0000] Methods:   POST Path: /v{version:[4-9][0-9A-Za-z.-]*}/libpod/manifests/{name:.*} 
TRAC[0000] Methods:    GET Path: /v{version:[4-9][0-9A-Za-z.-]*}/libpod/manifests/{name:.*}/exists 
TRAC[0000] Methods:    GET Path: /v{version:[4-9][0-9A-Za-z.-]*}/libpod/manifests/{name:.*}/json 
TRAC[0000] Methods:    PUT Path: /v{version:[4-9][0-9A-Za-z.-]*}/libpod/manifests/{name:.*} 
TRAC[0000] Methods: DELETE Path: /v{version:[4-9][0-9A-Za-z.-]*}/libpod/manifests/{name:.*} 
TRAC[0000] Methods:  <N/A> Path: /v{version:[0-9][0-9A-Za-z.-]*}/monitor 
TRAC[0000] Methods:  <N/A> Path: /monitor               
TRAC[0000] Methods: DELETE Path: /v{version:[0-9][0-9A-Za-z.-]*}/networks/{name} 
TRAC[0000] Methods: DELETE Path: /networks/{name}       
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/networks/{name} 
TRAC[0000] Methods:    GET Path: /networks/{name}       
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/networks 
TRAC[0000] Methods:    GET Path: /networks              
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/networks/create 
TRAC[0000] Methods:   POST Path: /networks/create       
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/networks/{name}/connect 
TRAC[0000] Methods:   POST Path: /networks/{name}/connect 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/networks/{name}/disconnect 
TRAC[0000] Methods:   POST Path: /networks/{name}/disconnect 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/networks/prune 
TRAC[0000] Methods:   POST Path: /networks/prune        
TRAC[0000] Methods: DELETE Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/networks/{name} 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/networks/{name}/exists 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/networks/json 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/networks/{name}/json 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/networks/{name} 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/networks/create 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/networks/{name}/connect 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/networks/{name}/disconnect 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/networks/prune 
TRAC[0000] Methods: GET, HEAD Path: /_ping              
TRAC[0000] Methods: GET, HEAD Path: /v{version:[0-9][0-9A-Za-z.-]*}/_ping 
TRAC[0000] Methods: GET, HEAD Path: /libpod/_ping       
TRAC[0000] Methods: GET, HEAD Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/_ping 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/play/kube 
TRAC[0000] Methods: DELETE Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/play/kube 
TRAC[0000] Methods:  <N/A> Path: /v{version:[0-9][0-9A-Za-z.-]*}/plugins 
TRAC[0000] Methods:  <N/A> Path: /plugins               
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/pods/json 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/pods/create 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/pods/prune 
TRAC[0000] Methods: DELETE Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/pods/{name} 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/pods/{name}/json 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/pods/{name}/exists 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/pods/{name}/kill 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/pods/{name}/pause 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/pods/{name}/restart 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/pods/{name}/start 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/pods/{name}/stop 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/pods/{name}/unpause 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/pods/{name}/top 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/pods/stats 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/secrets/create 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/secrets/json 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/secrets/{name}/json 
TRAC[0000] Methods: DELETE Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/secrets/{name} 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/secrets 
TRAC[0000] Methods:    GET Path: /secrets               
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/secrets/create 
TRAC[0000] Methods:   POST Path: /secrets/create        
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/secrets/{name} 
TRAC[0000] Methods:    GET Path: /secrets/{name}        
TRAC[0000] Methods: DELETE Path: /v{version:[0-9][0-9A-Za-z.-]*}/secrets/{name} 
TRAC[0000] Methods: DELETE Path: /secret/{name}         
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/secrets/{name}/update 
TRAC[0000] Methods:   POST Path: /secrets/{name}/update 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/swagger 
TRAC[0000] Methods:  <N/A> Path: /v{version:[0-9.]+}/configs/ 
TRAC[0000] Methods:  <N/A> Path: /v{version:[0-9.]+}/nodes/ 
TRAC[0000] Methods:  <N/A> Path: /v{version:[0-9.]+}/secrets/ 
TRAC[0000] Methods:  <N/A> Path: /v{version:[0-9.]+}/services/ 
TRAC[0000] Methods:  <N/A> Path: /v{version:[0-9.]+}/swarm/ 
TRAC[0000] Methods:  <N/A> Path: /v{version:[0-9.]+}/tasks/ 
TRAC[0000] Methods:  <N/A> Path: /configs/              
TRAC[0000] Methods:  <N/A> Path: /nodes/                
TRAC[0000] Methods:  <N/A> Path: /secrets/              
TRAC[0000] Methods:  <N/A> Path: /services/             
TRAC[0000] Methods:  <N/A> Path: /swarm/                
TRAC[0000] Methods:  <N/A> Path: /tasks/                
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/system/df 
TRAC[0000] Methods:    GET Path: /system/df             
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/system/prune 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/system/df 
TRAC[0000] Methods:    GET Path: /version               
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/version 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/version 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/volumes/create 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/volumes/{name}/exists 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/volumes/json 
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/volumes/prune 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/volumes/{name}/json 
TRAC[0000] Methods: DELETE Path: /v{version:[0-9][0-9A-Za-z.-]*}/libpod/volumes/{name} 
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/volumes 
TRAC[0000] Methods:    GET Path: /volumes               
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/volumes/create 
TRAC[0000] Methods:   POST Path: /volumes/create        
TRAC[0000] Methods:    GET Path: /v{version:[0-9][0-9A-Za-z.-]*}/volumes/{name} 
TRAC[0000] Methods:    GET Path: /volumes/{name}        
TRAC[0000] Methods: DELETE Path: /v{version:[0-9][0-9A-Za-z.-]*}/volumes/{name} 
TRAC[0000] Methods: DELETE Path: /volumes/{name}        
TRAC[0000] Methods:   POST Path: /v{version:[0-9][0-9A-Za-z.-]*}/volumes/prune 
TRAC[0000] Methods:   POST Path: /volumes/prune         
DEBU[0000] API service(s) shutting down, idle for 0s    
DEBU[0000] API service shutdown request ignored as timeout Duration is UnlimitedService 

@mheon
Copy link
Member

mheon commented Aug 31, 2022

Did you disable the podman.socket API socket before doing this? Is Coder connecting to the root API socket, where you are running podman system service rootless?

@FourLeafTec
Copy link
Author

Yes,my work running on docker now, and it has some problem with podman, I have restart podman.socket service to fix them.

I think the podman running with rootless, I mount /run/users/{UID}/podman/podman.sock:/var/run/docker.sock, curl test return ok.

I don't know if Coder require root API socket, I think must be this reason.

I can't test it right now, I'll try again in the future if I get a chance。

THX

@github-actions github-actions bot added the locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments. label Sep 17, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 17, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
kind/bug Categorizes issue or PR as related to a bug. locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments.
Projects
None yet
Development

No branches or pull requests

2 participants