Skip to content

Problems adding files to image following 25.0.0 upgrade #47137

@toby-griffiths

Description

@toby-griffiths

Description

We have a build process ad Dockerfile for our project images that has not changed for some time, yet this morning I'm unable to build our images due to a problem with adding the content of a .tar.gz file to the image…

 => ERROR [setup api_platform_php_production 1/1] ADD ./files.tar.gz /srv/api/files                                                                                                                     0.5s
------
 > [setup api_platform_php_production 1/1] ADD ./files.tar.gz /srv/api/files:
------
failed to solve: lsetxattr /sftp_key.ppk: operation not supported

Here is our Dockerfile…

FROM php:8.2-fpm-alpine

ADD ./files.tar.gz /srv/api/files

I can't share the content of the ZIP file as it's sensitive data, but it was created on MacOS and contans 1 environment variables file and one private key (.ppk) file.

Reproduce

  1. docker build --target=api_platform_php_production ./api

Expected behavior

Build should complete, with the files in the .tar.gz file in the image, but I recieve the following error…

 => ERROR [2/2] ADD ./files.tar.gz /srv/api/files                                                                                                                                     0.3s
------
 > [2/2] ADD ./files.tar.gz /srv/api/files:
------
Dockerfile.test:3
--------------------
   1 |     FROM php:8.2-fpm-alpine
   2 |
   3 | >>> ADD ./files.tar.gz /srv/api/files
   4 |
--------------------
ERROR: failed to solve: lsetxattr /sftp_key.ppk: operation not supported

docker version

Client:
 Cloud integration: v1.0.35+desktop.5
 Version:           24.0.7
 API version:       1.43
 Go version:        go1.20.10
 Git commit:        afdd53b
 Built:             Thu Oct 26 09:04:20 2023
 OS/Arch:           darwin/arm64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          25.0.0
  API version:      1.44 (minimum version 1.24)
  Go version:       go1.21.6
  Git commit:       615dfdf
  Built:            Thu Jan 18 17:12:10 2024
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.27
  GitCommit:        a1496014c916f9e62104b33d1bb5bd03b0858e59
 runc:
  Version:          1.1.11
  GitCommit:        v1.1.11-0-g4bccb38
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

docker info

Client:
 Version:    24.0.7
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.12.0-desktop.2
    Path:     /Users/toby/.docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.23.3-desktop.2
    Path:     /Users/toby/.docker/cli-plugins/docker-compose
  dev: Docker Dev Environments (Docker Inc.)
    Version:  v0.1.0
    Path:     /Users/toby/.docker/cli-plugins/docker-dev
  extension: Manages Docker extensions (Docker Inc.)
    Version:  v0.2.21
    Path:     /Users/toby/.docker/cli-plugins/docker-extension
  feedback: Provide feedback, right in your terminal! (Docker Inc.)
    Version:  0.1
    Path:     /Users/toby/.docker/cli-plugins/docker-feedback
  init: Creates Docker-related starter files for your project (Docker Inc.)
    Version:  v0.1.0-beta.10
    Path:     /Users/toby/.docker/cli-plugins/docker-init
  sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc.)
    Version:  0.6.0
    Path:     /Users/toby/.docker/cli-plugins/docker-sbom
  scan: Docker Scan (Docker Inc.)
    Version:  v0.26.0
    Path:     /Users/toby/.docker/cli-plugins/docker-scan
  scout: Docker Scout (Docker Inc.)
    Version:  v1.2.0
    Path:     /Users/toby/.docker/cli-plugins/docker-scout

Server:
 Containers: 252
  Running: 76
  Paused: 0
  Stopped: 176
 Images: 492
 Server Version: 25.0.0
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: loki
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
 Swarm: active
  NodeID: l603mylmj6hnh95at639cy4w0
  Is Manager: true
  ClusterID: vsayqmcuktjv67jgmtgjqm5kk
  Managers: 1
  Nodes: 1
  Default Address Pool: 10.0.0.0/8  
  SubnetSize: 24
  Data Path Port: 4789
  Orchestration:
   Task History Retention Limit: 5
  Raft:
   Snapshot Interval: 10000
   Number of Old Snapshots to Retain: 0
   Heartbeat Tick: 1
   Election Tick: 10
  Dispatcher:
   Heartbeat Period: 5 seconds
  CA Configuration:
   Expiry Duration: 3 months
   Force Rotate: 0
  Autolock Managers: false
  Root Rotation In Progress: false
  Node Address: 31.193.2.114
  Manager Addresses:
   31.193.2.114:2377
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: a1496014c916f9e62104b33d1bb5bd03b0858e59
 runc version: v1.1.11-0-g4bccb38
 init version: de40ad0
 Security Options:
  seccomp
   Profile: builtin
 Kernel Version: 3.10.0-1160.95.1.el7.x86_64
 Operating System: CentOS Linux 7 (Core)
 OSType: linux
 Architecture: x86_64
 CPUs: 8
 Total Memory: 25.34GiB
 Name: id79706
 ID: THRG:QZBK:5427:DLKF:M4HF:Y6TQ:32CN:PTR3:IWUG:HOEC:C5T7:TTNI
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

Additional Info

If I unpack the tar.gz file and copy the files individualy then this works fine, and the build can complete.

Example that works…

FROM php:8.2-fpm-alpine

COPY ./files/key_passphrase /srv/api/files/key_passphrase
COPY ./files/sftp_key.ppk /srv/api/files/sftp_key.ppk

And here's the yum upgrade history with versions…

$ yum history info 2362
Loaded plugins: fastestmirror
Transaction ID : 2362
Begin time     : Sat Jan 20 03:13:20 2024
Begin rpmdb    : 1258:aa696fc965824607ba376bcba2c42cedf14780cc
End time       :            03:17:44 2024 (264 seconds)
End rpmdb      : 1258:38f5b6c8b8b47fbdb03d19a8d62799c88e36c680
User           : System <unset>
Return-Code    : Success
Transaction performed with:
    Installed     rpm-4.11.3-48.el7_9.x86_64                      @updates
    Installed     yum-3.4.3-168.el7.centos.noarch                 @base
    Installed     yum-metadata-parser-1.1.4-10.el7.x86_64         @anaconda
    Installed     yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch @updates
Packages Altered:
    Updated docker-buildx-plugin-0.11.2-1.el7.x86_64      @plesk-ext-docker
    Update                       0.12.1-1.el7.x86_64      @plesk-ext-docker
    Updated docker-ce-3:24.0.7-1.el7.x86_64               @plesk-ext-docker
    Update            3:25.0.0-1.el7.x86_64               @plesk-ext-docker
    Updated docker-ce-cli-1:24.0.7-1.el7.x86_64           @plesk-ext-docker
    Update                1:25.0.0-1.el7.x86_64           @plesk-ext-docker
    Updated docker-ce-rootless-extras-24.0.7-1.el7.x86_64 @plesk-ext-docker
    Update                            25.0.0-1.el7.x86_64 @plesk-ext-docker
    Updated docker-compose-plugin-2.21.0-1.el7.x86_64     @plesk-ext-docker
    Update                        2.24.1-1.el7.x86_64     @plesk-ext-docker
history info

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions