Docker -Add -Befehl scheint nicht zu ehren -in dem Parameter in einem in Anspruch genommenen ParameterLinux

Linux verstehen
Anonymous
 Docker -Add -Befehl scheint nicht zu ehren -in dem Parameter in einem in Anspruch genommenen Parameter

Post by Anonymous »

Ich arbeite an einer Docker -Datei, um eine Flutter -Entwicklungsumgebung zu erstellen und Docker -Container zu lernen. Dabei bin ich auf einen Vorfall gestoßen, bei dem Docker nicht so funktioniert, was er tun soll. Hier ist meine ziemlich einfache Dockerfile: < /p>

Code: Select all

FROM eclipse-temurin:17-noble
SHELL ["/bin/bash", "-c"]

#create a non-root user and use it
RUN useradd --base-dir /home --create-home --shell /bin/bash flutter_dev

# surpress "debconf: unable to initialize frontend: Dialog" error messages
ENV DEBIAN_FRONTEND=noninteractive

USER flutter_dev
# ADD --chown=1001:1001 --chmod=766 android-studio-2024.2.2.15-linux.tar.gz /tmp
ADD --chown=flutter_dev:flutter_dev --chmod=766 android-studio-2024.2.2.15-linux.tar.gz /tmp
Ich habe beide Formen des Parameters mit dem Benutzer/Gruppennamen und ihren jeweiligen IDs ausprobiert. Result is the same:
Here is how /tmp folder looks like when I run the container:
Image

Before posting this question, I searched for a similar problem on the Internet. Es sieht so aus, als ob es früher vor Jahren und Jahren ähnliche Probleme gab, und diese Probleme wurden durch Hinzufügen von -Chown /--ChMode -Parametern zum Befehl add behoben. Ich muss also etwas falsch machen und ich habe keine Ahnung, was es sein könnte.

Code: Select all

Client:
Version:    27.3.1
Context:    default
Debug Mode: false
Plugins:
buildx: Docker Buildx (Docker Inc.)
Version:  0.20.1
Path:     /usr/lib/docker/cli-plugins/docker-buildx

Server:
Containers: 1
Running: 0
Paused: 0
Stopped: 1
Images: 1
Server Version: 27.3.1
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Using metacopy: true
Native Overlay Diff: false
userxattr: false
Logging Driver: json-file
Cgroup Driver: systemd
Cgroup Version: 2
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
Swarm: inactive
Runtimes: io.containerd.runc.v2 runc
Default Runtime: runc
Init Binary: docker-init
containerd version: c507a0257ea6462fbd6f5ba4f5c74facb04021f4.m
runc version:
init version: de40ad0
Security Options:
seccomp
Profile: builtin
cgroupns
Kernel Version: 6.6.75-2-MANJARO
Operating System: Manjaro Linux
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 15.35GiB
Name: XXXXXXXXXX
ID: XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
Docker Root Dir: /var/lib/docker
Debug Mode: false
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false

Update #2
Ich habe die Dockerfile so geändert, wie Philippe vorgeschlagen wurde. Die neue Dockerfile lautet wie folgt: < /p>

Code: Select all

FROM eclipse-temurin:17-noble
SHELL ["/bin/bash", "-c"]

#create a non-root user and use it
RUN apt-get install tar \
&& useradd --base-dir /home --create-home --shell /bin/bash flutter_dev

# surpress "debconf: unable to initialize frontend: Dialog" error messages
ENV DEBIAN_FRONTEND=noninteractive

USER flutter_dev

COPY --chown=flutter_dev:flutter_dev --chmod=766 android-studio-2024.2.2.15-linux.tar.gz /tmp

WORKDIR /tmp

RUN tar xzvf android-studio-2024.2.2.15-linux.tar.gz
und Ausgabe ist:



Um eine Kopie zu verwenden, muss ich entweder < /li>
< /ol>

Untar the Tarball und dann das Ganze in den Container kopieren. (Ich bin mir nicht sicher, ob dies die beste Praxis ist) < /li>
oder kopieren Sie den Tarball über und dann im Container (das mache ich im Moment). Dieser Schritt fügt eine weitere Ebene hinzu, und ich bin mir nicht sicher, warum ich das tun sollte. Meiner Meinung nach soll der Befehl hinzufügen alle diese Schritte in einen einzelnen Befehl einpacken. Ich benutze es also lieber so früh wie möglich. Das würde mich später vor der Ausführung unnötiger Laufbefehle später bewahren.>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post