#Exemple de nœud.Créer une image Docker pour l'application js
~ $ git clone https://github.com/docker-slim/examples.git
# node_Accédez au répertoire où se trouve le Dockerfile ubuntu
~ $ cd examples/node_ubuntu/
#Construire Dockerfile et créer une image
~ $ docker build -t my/sample-node-app .
#Pour l'image créée, docker-Appliquer mince
~ $ 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
Le bas est l'image d'origine et le haut est l'image optimisée. Il semble que ".slim" soit ajouté à la fin de l'image optimisée par docker-slim. La taille est réduite de 414 Mo à 14 Mo. Que ce passe-t-il? ..
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"]
La clause FROM est passée d'ubuntu: 14.04 à zéro. FROM scratch signifie qu'il n'y a pas de base, et cela semble indiquer qu'il est écrit à partir de la partie OS de base. Il semble que la partie OS soit gérée par files.tar, qui est censé être une version compressée du système de fichiers ADD ubuntu.
Recommended Posts