#Beispielknoten.Erstellen Sie ein Docker-Image für die js-App
~ $ git clone https://github.com/docker-slim/examples.git
# node_Wechseln Sie in das Verzeichnis, in dem sich die Ubuntu-Docker-Datei befindet
~ $ cd examples/node_ubuntu/
#Erstellen Sie eine Docker-Datei und erstellen Sie ein Image
~ $ docker build -t my/sample-node-app .
#Für das erstellte Bild Docker-Schlank auftragen
~ $ docker-slim build my/sample-node-app
~ $ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
my/sample-node-app.slim latest b2c7843a52fa 3 hours ago 14MB
my/sample-node-app latest 3c6ddc217be2 4 hours ago 414MB
Das untere ist das Originalbild und das obere ist das optimierte Bild. Es scheint, dass ".slim" am Ende des von Docker-Slim optimierten Bildes hinzugefügt wird. Die Größe wird von 414 MB auf 14 MB reduziert. Was ist los? ..
Dockerfile-before
FROM ubuntu:14.04
RUN apt-get update && \
apt-get install -y curl software-properties-common python-software-properties && \
add-apt-repository ppa:chris-lea/node.js && \
apt-get update && \
apt-get install -y build-essential \
nodejs && \
mkdir -p /opt/my/service
COPY service /opt/my/service
WORKDIR /opt/my/service
RUN npm install
EXPOSE 1300
ENTRYPOINT ["node","/opt/my/service/server.js"]
Dockerfile-after
FROM scratch
LABEL docker-slim.version="darwin|Transformer|1.32.0|10b628fc3cd9f903237b9c31a6aba5ac4e6bc9c8|2020-08-24_06:14:32AM"
ENV PATH "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
ADD files.tar /
WORKDIR /opt/my/service
EXPOSE 1300/tcp
ENTRYPOINT ["node","/opt/my/service/server.js"]
Die FROM-Klausel wurde von Ubuntu: 14.04 in Scratch geändert. VON Grund auf neu bedeutet, dass es keine Basis gibt, und scheint darauf hinzudeuten, dass es vom Basis-Betriebssystemteil geschrieben wurde. Es scheint, dass der Betriebssystemteil von files.tar verwaltet wird, einer komprimierten Version des ADD-Ubuntu-Dateisystems.
Recommended Posts