{"id":15129790,"url":"https://github.com/devllm/fichier-docker","last_synced_at":"2026-01-17T03:47:05.395Z","repository":{"id":247594248,"uuid":"826303307","full_name":"DevLLM/Fichier-Docker","owner":"DevLLM","description":"Dockerfile pour de nombreux langages de programmation","archived":false,"fork":false,"pushed_at":"2024-07-11T20:03:20.000Z","size":34,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-05T19:18:55.426Z","etag":null,"topics":["docker","docker-compose","docker-container","docker-image","dockerfile","francais","francaise","france"],"latest_commit_sha":null,"homepage":"https://github.com/DevLLM/Fichier-Docker","language":null,"has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DevLLM.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-09T12:52:42.000Z","updated_at":"2024-07-11T20:03:24.000Z","dependencies_parsed_at":"2024-10-31T10:43:48.318Z","dependency_job_id":"ccdb75c8-f72e-4650-a9da-4da54a7d9ac1","html_url":"https://github.com/DevLLM/Fichier-Docker","commit_stats":null,"previous_names":["devllm/fichier-docker"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevLLM%2FFichier-Docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevLLM%2FFichier-Docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevLLM%2FFichier-Docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevLLM%2FFichier-Docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DevLLM","download_url":"https://codeload.github.com/DevLLM/Fichier-Docker/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247386341,"owners_count":20930628,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-compose","docker-container","docker-image","dockerfile","francais","francaise","france"],"created_at":"2024-09-26T02:20:30.008Z","updated_at":"2026-01-17T03:47:05.362Z","avatar_url":"https://github.com/DevLLM.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dockerfile pour de nombreux langages de programmation\n\n## Contents\n\n- [React](#dockerfile-pour-react)\n- [NodeJS](#dockerfile-pour-nodejs)\n- [Python](#dockerfile-pour-python)\n- [Golang](#dockerfile-pour-golang)\n- [Java Spring Boot](#dockerfile-pour-java-spring-boot)\n- [Java Quarkus](#dockerfile-pour-java-quarkus)\n- [ASP.NET Core](#dockerfile-pour-aspnet-core)\n- [Ruby](#dockerfile-pour-ruby-on-rails)\n- [Rust](#dockerfile-pour-rust)\n- [PHP Laravel](#dockerfile-pour-php-laravel)\n- [Dart](#dockerfile-pour-dart)\n- [R Studio](#dockerfile-pour-r-studio)\n- [Contact](#contact)\n\n## Dockerfile pour React\n\nNormal:\n\n```Dockerfile\nFROM node:20-alpine as build\n\nWORKDIR /app\nCOPY package*.json ./\nRUN npm ci\nCOPY . .\nRUN npm run build\n\nFROM nginx:stable-alpine\nCOPY --from=build /app/build /usr/share/nginx/html\nCOPY nginx.conf /etc/nginx/nginx.conf\nEXPOSE 80\nCMD [\"nginx\", \"-g\", \"daemon off;\"]\n```\n\nAvec pnpm:\n\n```Dockerfile\nFROM node:20-alpine as build\n\nRUN npm install -g pnpm\n\nWORKDIR /app\nCOPY package*.json ./\nRUN CI=true pnpm install\nCOPY . .\nRUN pnpm build\n\nFROM nginx:stable-alpine\nCOPY --from=build /app/build /usr/share/nginx/html\nCOPY nginx.conf /etc/nginx/nginx.conf\nEXPOSE 80\nCMD [\"nginx\", \"-g\", \"daemon off;\"]\n```\n\nNginx Config:\n\n```\n# Détecte automatiquement un bon nombre de processus à exécuter.\nworker_processes auto;\n\n# Fournit le contexte du fichier de configuration dans lequel sont spécifiées les directives qui affectent le traitement des connexions.\nevents {\n    # Définit le nombre maximum de connexions simultanées pouvant être ouvertes par un processus de travail.\n    worker_connections 8000;\n    # Demande d'accepter plusieurs connexions à la fois.\n    multi_accept on;\n}\n\n\nhttp {\n    # Quelles heures inclure.\n    include       /etc/nginx/mime.types;\n    # Quel est celui par défaut.\n    default_type  application/octet-stream;\n\n    # Définit le chemin, le format et la configuration pour une écriture de log en mémoire tampon.\n    log_format compression '$remote_addr - $remote_user [$time_local] '\n        '\"$request\" $status $upstream_addr '\n        '\"$http_referer\" \"$http_user_agent\"';\n\n    server {\n        # Écouter sur le port 80\n        listen 80;\n        # Enregistrer les logs ici\n        access_log /var/log/nginx/access.log compression;\n\n        # Root ici.\n        root /usr/share/nginx/html;\n        # Quel fichier serveur comme index\n        index index.html index.htm;\n\n        location / {\n            # Essayez d'abord de servir la demande en tant que fichier, puis\n            # Comme répertoire, puis revenez à la redirection vers index.html\n            try_files $uri $uri/ /index.html;\n        }\n\n        # Médias: images, icons, video, audio, HTC\n        location ~* \\.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|htc)$ {\n          expires 1M;\n          access_log off;\n          add_header Cache-Control \"public\";\n        }\n\n        # Javascript et CSS fichiers\n        location ~* \\.(?:css|js)$ {\n            try_files $uri =404;\n            expires 1y;\n            access_log off;\n            add_header Cache-Control \"public\";\n        }\n\n        # Toute route contenant une extension de fichier (par exemple /devicesfile.js)\n        location ~ ^.+\\..+$ {\n            try_files $uri =404;\n        }\n    }\n}\n```\n\n## Dockerfile pour NodeJS\n\nExpressJS:\n\n```Dockerfile\nFROM node:20-alpine\n\nWORKDIR /app\n\nCOPY package*.json ./\nRUN npm ci\nCOPY . .\n\nCMD [\"node\", \"index.js\"]\n```\n\nInstaller node-gyp sur la version Node Alpine:\n\n```Dockerfile\nFROM node:20-alpine\n\nRUN apk add --no-cache \\\n    make \\\n    gcc \\\n    g++ \\\n    python3 \\\n    pkgconfig \\\n    pixman-dev \\\n    cairo-dev \\\n    pango-dev \\\n    libjpeg-turbo-dev \\\n    giflib-dev\n\nWORKDIR /app\n\nCOPY package*.json ./\nRUN npm install\nCOPY . .\n\nCMD [\"node\", \"index.js\"]\n```\n\nSi vous essayez d'utiliser le package Sharp avec NodeJS mais rencontrez des erreurs:\n\n- `Impossible de charger le module \"sharp\" à l'aide du runtime linuxmusl-x64`\n- `sharp: Erreur d'installation: Version invalide: 1.2.4_git20230717`\n\nRéparer en modifiant `FROM node:20-alpine` à `FROM node:20-buster-slim`:\n\n```Dockerfile\nFROM node:20-buster-slim\n\nWORKDIR /app\n\nCOPY package*.json ./\nRUN npm ci\nCOPY . .\n\nCMD [\"node\", \"index.js\"]\n```\n\nNestJS Framework:\n\n```Dockerfile\nFROM node:20-alpine as build\n\nWORKDIR /app\n\nCOPY package*.json ./\nRUN npm ci\n\nCOPY --chown=node:node . .\nRUN npm run build\n\n# L'exécution de `npm ci` supprime le répertoire node_modules existant et le passage de --only=production garantit que seules les dépendances de production sont installées. Cela garantit que le répertoire node_modules est aussi optimisé que possible\nRUN npm ci --only=production \u0026\u0026 npm cache clean --force\n\nUSER node\n\nFROM node:20-alpine\n\nWORKDIR /app\n\nCOPY --from=build --chown=node:node /app/package*.json ./\nCOPY --from=build --chown=node:node /app/node_modules ./node_modules\nCOPY --from=build --chown=node:node /app/dist ./dist\n\nCMD [\"node\", \"dist/main.js\"]\n```\n\n## Dockerfile pour Python\n\nNormal:\n\n```Dockerfile\nFROM python:3.9-slim-bullseye\n\nWORKDIR /app\n\nCOPY requirements.txt requirements.txt\nRUN pip3 install -r requirements.txt\n\nCOPY . .\n\nCMD [\"python3\", \"app.py\"]\n```\n\nAvec Flask ou Django, vous devez exécuter sur l'hôte `0.0.0.0`.\n\nFlask:\n\n```Dockerfile\nFROM python:3.9-slim-bullseye\n\nWORKDIR /app\n\nCOPY requirements.txt requirements.txt\nRUN pip3 install -r requirements.txt\n\nCOPY . .\n\nCMD [ \"python3\", \"-m\" , \"flask\", \"run\", \"--host=0.0.0.0\"]\n```\n\nDjango:\n\n```Dockerfile\nFROM python:3.9-slim-bullseye\n\nWORKDIR /app\n\nCOPY requirements.txt requirements.txt\nRUN pip3 install -r requirements.txt\n\nCOPY . .\n\nCMD [\"python3\", \"manage.py\", \"runserver\", \"0.0.0.0:8000\"]\n```\n\nAvec Poetry, gestion des packages python comme npm dans Node:\n\n- `pyproject.toml` semblable à `package.json` dans Node\n- `poetry.lock` semblable à `package-lock.json` dans Node\n\n```Dockerfile\nFROM python:3.9-slim-bullseye as builder\nRUN pip install poetry\n\nWORKDIR /app\nCOPY poetry.lock pyproject.toml ./\nRUN poetry install\n\nFROM python:3.9-slim-bullseye as base\nWORKDIR /app\n\nCOPY --from=builder /app /app\n\nENV PATH=\"/app/.venv/bin:$PATH\"\nCMD [\"python\", \"-m\", \"app.py\"]\n```\n\n## Dockerfile pour Golang\n\nNormal:\n\n```Dockerfile\nFROM golang:1.20-alpine AS build\n\nWORKDIR /build\nCOPY go.mod go.sum ./\nRUN go mod download \u0026\u0026 go mod verify\nCOPY . .\n\n# Construit l'application comme une application liée statiquement, pour lui permettre de s'exécuter sur Alpine.\nRUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o run .\n\n# Déplacer le binaire vers « l'image finale » pour le rendre plus petit.\nFROM alpine\nWORKDIR /app\nCOPY --from=build /build/run .\nCMD [\"/app/run\"]\n```\n\nWith private repo:\n\n```Dockerfile\nFROM golang:1.20-alpine AS build\n\n# Installer git et openssh.\nRUN apt update \u0026\u0026 apt upgrade -y \u0026\u0026 \\\n    apt install -y git make openssh-client\n\nWORKDIR /build\nCOPY go.mod go.sum ./\nRUN go mod download \u0026\u0026 go mod verify\nCOPY . .\n\n# Construit l'application comme une application liée statiquement, pour lui permettre de s'exécuter sur Alpin.\nRUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o run .\n\n# Déplacer le binaire vers « l'image finale » pour le rendre plus petit.\nFROM alpine\nWORKDIR /app\nCOPY --from=build /build/run .\nCMD [\"/app/run\"]\n```\n\n## Dockerfile pour Java Spring Boot\n\n```Dockerfile\nFROM eclipse-temurin:17-jdk-focal as build\n\nWORKDIR /build\n\nCOPY .mvn/ ./.mvn\nCOPY mvnw pom.xml  ./\nRUN sed -i 's/\\r$//' mvnw\nRUN ./mvnw dependency:go-offline\n\nCOPY . .\nRUN sed -i 's/\\r$//' mvnw\nRUN ./mvnw package -DskipTests\n\nFROM eclipse-temurin:17-jdk-alpine\nWORKDIR /app\nCOPY --from=build /build/target/*.jar run.jar\nENTRYPOINT [\"java\", \"-jar\", \"/app/run.jar\"]\n```\n\n## Dockerfile pour Java Quarkus\n\n```Dockerfile\nFROM maven:3.8.4-openjdk-17 AS build\n\nWORKDIR /build\nCOPY ./pom.xml ./pom.xml\nCOPY ./settings.xml /root/.m2/settings.xml\nRUN mvn dependency:go-offline -B\n\nCOPY src src\nARG QUARKUS_PROFILE\nRUN mvn package -Dquarkus.profile=${QUARKUS_PROFILE}\n\nFROM registry.access.redhat.com/ubi8/ubi-minimal:8.4\n\nARG JAVA_PACKAGE=java-17-openjdk-headless\nARG RUN_JAVA_VERSION=1.3.8\nENV LANG='en_US.UTF-8' LANGUAGE='en_US:en'\n\n# Installer Java et le script run-java\nRUN microdnf install curl ca-certificates wget ${JAVA_PACKAGE} \\\n  \u0026\u0026 microdnf update \\\n  \u0026\u0026 microdnf clean all \\\n  \u0026\u0026 mkdir /deployments \\\n  \u0026\u0026 chown 1001 /deployments \\\n  \u0026\u0026 chmod \"g+rwX\" /deployments \\\n  \u0026\u0026 chown 1001:root /deployments \\\n  \u0026\u0026 curl https://repo1.maven.org/maven2/io/fabric8/run-java-sh/${RUN_JAVA_VERSION}/run-java-sh-${RUN_JAVA_VERSION}-sh.sh -o /deployments/run-java.sh \\\n  \u0026\u0026 chown 1001 /deployments/run-java.sh \\\n  \u0026\u0026 chmod 540 /deployments/run-java.sh \\\n  \u0026\u0026 echo \"securerandom.source=file:/dev/urandom\" \u003e\u003e /etc/alternatives/jre/conf/security/java.security\n\n# Nous créons quatre couches distinctes, donc en cas de modifications d'application, les couches de bibliothèque peuvent être réutilisées.\nCOPY --from=build /build/target/quarkus-app/lib/ /deployments/lib/\nCOPY --from=build /build/target/quarkus-app/*.jar /deployments/\nCOPY --from=build /build/target/quarkus-app/app/ /deployments/app/\nCOPY --from=build /build/target/quarkus-app/quarkus/ /deployments/quarkus/\n\nUSER 1001\n\nENTRYPOINT [ \"/deployments/run-java.sh\" ]\n```\n\n## Dockerfile pour ASP.NET Core\n\nNormal:\n\n```Dockerfile\nFROM mcr.microsoft.com/dotnet/sdk:8.0 AS build\n\nWORKDIR /build\n\n# Copier csproj et restaurer en tant que couches distinctes.\nCOPY *.csproj .\nRUN dotnet restore\n\n# Copier et publier des applications et des bibliothèques.\nCOPY . .\nRUN dotnet publish --no-restore -o app\n\nFROM mcr.microsoft.com/dotnet/aspnet:8.0\n\nWORKDIR /app\n\nCOPY --from=build /build/app .\n\nENTRYPOINT [\"./aspnetapp\"]\n```\n\nAlpine version:\n\n```Dockerfile\nFROM mcr.microsoft.com/dotnet/sdk:8.0-alpine AS build\n\nWORKDIR /build\n\n# Copier csproj et restaurer en tant que couches distinctes.\nCOPY *.csproj .\nRUN dotnet restore\n\n# Copier et publier des applications et des bibliothèques.\nCOPY . .\nRUN dotnet publish --no-restore -o app\n\nFROM mcr.microsoft.com/dotnet/aspnet:8.0-alpine\n\nWORKDIR /app\n\nCOPY --from=build /build/app .\n\nENTRYPOINT [\"./aspnetapp\"]\n```\n\n## Dockerfile pour Ruby on Rails\n\nWithout assets:\n\n```Dockerfile\nFROM ruby:3.2-slim-bullseye\n\n# Installer les dépendances système requises à la fois au moment de l'exécution et au moment de la construction.\nRUN apt-get update \u0026\u0026 apt-get install -y \\\n    build-essential \\\n    # Exemple de dépendances système qui nécessitent \"gem install pg\".\n    libpq-dev\n\nCOPY Gemfile Gemfile.lock ./\n\n# Installation (hors dépendances de développement/test).\nRUN gem install bundler \u0026\u0026 \\\n  bundle config set without \"development test\" \u0026\u0026 \\\n  bundle install\n\nCOPY . .\n\nCMD [\"rails\", \"server\", \"-b\", \"0.0.0.0\"]\n```\n\nAvec des actifs:\n\n```Dockerfile\nFROM ruby:3.2-slim-bullseye\n\n# Installer les dépendances système requises à la fois au moment de l'exécution et au moment de la construction\nRUN apt-get update \u0026\u0026 apt-get install -y \\\n    build-essential \\\n    # Exemple de dépendances système qui nécessitent \"gem install pg\".\n    libpq-dev \\\n    nodejs \\\n    yarn\n\nCOPY Gemfile Gemfile.lock ./\n\n# Installation (hors dépendances de développement/test).\nRUN gem install bundler \u0026\u0026 \\\n  bundle config set without \"development test\" \u0026\u0026 \\\n  bundle install\n\nCOPY package.json yarn.lock ./\nRUN yarn install\n\nCOPY . .\n\n# Installer des actifs.\nRUN RAILS_ENV=production SECRET_KEY_BASE=assets bundle exec rails assets:precompile\n\nCMD [\"rails\", \"server\", \"-b\", \"0.0.0.0\"]\n```\n\n**Note** - Sur MacOS M Chip, vous devrez peut-être ajouter un indicateur `--platform=linux/amd64` lors de la construction:\n\n```\ndocker build . -t rubyonrails-app --platform=linux/amd64\n```\n\n## Dockerfile pour Rust\n\nNormal:\n\n```Dockerfile\nFROM rust:1.70.0-slim-bullseye AS build\n\n# Voir le nom de l'application dans Cargo.toml.\nARG APP_NAME=devopsvn\n\nWORKDIR /build\n\nCOPY Cargo.lock Cargo.toml ./\nRUN mkdir src \\\n    \u0026\u0026 echo \"// dummy file\" \u003e src/lib.rs \\\n    \u0026\u0026 cargo build --release\n\nCOPY src src\nRUN cargo build --locked --release\nRUN cp ./target/release/$APP_NAME /bin/server\n\nFROM debian:bullseye-slim AS final\nCOPY --from=build /bin/server /bin/\nENV ROCKET_ADDRESS=0.0.0.0\nCMD [\"/bin/server\"]\n```\n\nAvec utilisateur non privilégié:\n\n```Dockerfile\nFROM rust:1.70.0-slim-bullseye AS build\n\n# Voir le nom de l'application dans Cargo.toml.\nARG APP_NAME=devopsvn\n\nWORKDIR /build\n\nCOPY Cargo.lock Cargo.toml ./\nRUN mkdir src \\\n    \u0026\u0026 echo \"// dummy file\" \u003e src/lib.rs \\\n    \u0026\u0026 cargo build --release\n\nCOPY src src\nRUN cargo build --locked --release\nRUN cp ./target/release/$APP_NAME /bin/server\n\nFROM debian:bullseye-slim AS final\n\nRUN adduser \\\n    --disabled-password \\\n    --gecos \"\" \\\n    --home \"/nonexistent\" \\\n    --shell \"/sbin/nologin\" \\\n    --no-create-home \\\n    --uid \"10001\" \\\n    appuser\nUSER appuser\n\nCOPY --from=build /bin/server /bin/\nENV ROCKET_ADDRESS=0.0.0.0\nCMD [\"/bin/server\"]\n```\n\n## Dockerfile pour PHP Laravel\n\nNormal:\n\n```Dockerfile\nFROM php:8.2-fpm\n\nARG user\nARG uid\n\n# Installer les dépendances du système.\nRUN apt-get update \u0026\u0026 apt-get install -y \\\n    git \\\n    curl \\\n    libpng-dev \\\n    libonig-dev \\\n    libxml2-dev \\\n    zip \\\n    unzip \\\n    supervisor \\\n    nginx \\\n    build-essential \\\n    openssl\n\nRUN docker-php-ext-install gd pdo pdo_mysql sockets\n\n# Obtenez le dernier compositeur.\nCOPY --from=composer:latest /usr/bin/composer /usr/bin/composer\n\n# Créer un utilisateur système pour exécuter les commandes Composer et Artisan.\nRUN useradd -G www-data,root -u $uid -d /home/$user $user\nRUN mkdir -p /home/$user/.composer \u0026\u0026 \\\n    chown -R $user:$user /home/$user\n\nWORKDIR /var/www\n\n# Si vous avez besoin de corriger SSL.\nCOPY ./openssl.cnf /etc/ssl/openssl.cnf\n\nCOPY composer.json composer.lock ./\nRUN composer install --no-dev --optimize-autoloader --no-scripts\n\nCOPY . .\n\nRUN chown -R $uid:$uid /var/www\n\n# Copie de configuration du superviseur.\nCOPY ./supervisord.conf /etc/supervisord.conf\n\n# Exécuter le superviseur.\nCMD [\"/usr/bin/supervisord\", \"-n\", \"-c\", \"/etc/supervisord.conf\"]\n```\n\nsupervisord.conf:\n\n```\n[supervisord]\nuser=root\nnodaemon=true\nlogfile=/dev/stdout\nlogfile_maxbytes=0\npidfile=/var/run/supervisord.pid\nloglevel = INFO\n\n[program:php-fpm]\ncommand = /usr/local/sbin/php-fpm\nautostart=true\nautorestart=true\npriority=5\nstdout_logfile=/dev/stdout\nstdout_logfile_maxbytes=0\nstderr_logfile=/dev/stderr\nstderr_logfile_maxbytes=0\n\n[program:nginx]\ncommand=/usr/sbin/nginx -g \"daemon off;\"\nautostart=true\nautorestart=true\npriority=10\nstdout_events_enabled=true\nstderr_events_enabled=true\nstdout_logfile=/dev/stdout\nstdout_logfile_maxbytes=0\nstderr_logfile=/dev/stderr\nstderr_logfile_maxbytes=0\n```\n\nopenssl.cnf:\n\n```\nopenssl_conf = openssl_init\n\n[openssl_init]\nssl_conf = ssl_sect\n\n[ssl_sect]\nsystem_default = system_default_sect\n\n[system_default_sect]\nOptions = UnsafeLegacyRenegotiation\n```\n\nSi vous souhaitez ajouter une extension supplémentaire, pour exemple MongoDB, créez un fichier php.ini:\n\n```\nextension=mongodb.so\n```\n\nMise à jour du Dockerfile:\n\n```\n...\nWORKDIR /var/www\n\n# If you need to fix ssl\nCOPY ./openssl.cnf /etc/ssl/openssl.cnf\n# If you need add extension\nCOPY ./php.ini /usr/local/etc/php/php.ini\n...\n```\n\n## Dockerfile pour Dart\n\n```Dockerfile\nFROM dart AS build\n\nWORKDIR /build\n\nCOPY pubspec.* /build\nRUN dart pub get --no-precompile\n\nCOPY . .\nRUN dart compile exe app.dart -o run\n\nFROM debian:bullseye-slim\n\nWORKDIR /build\n\nCOPY --from=build /build/run /app/run\nCMD [\"/app/run\"]\n```\n\n## Dockerfile pour R Studio\n\nPilote SQL Server:\n\n```Dockerfile\nFROM rocker/rstudio\n\nRUN apt-get update \u0026\u0026 apt-get install -y \\\n    curl \\\n    apt-transport-https \\\n    tdsodbc \\\n    libsqliteodbc \\\n    gnupg \\\n    unixodbc \\\n    unixodbc-dev \\\n    ## clean up\n    \u0026\u0026 apt-get clean \\\n    \u0026\u0026 rm -rf /var/lib/apt/lists/ \\\n    \u0026\u0026 rm -rf /tmp/downloaded_packages/ /tmp/*.rds\n\nRUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \\\n \u0026\u0026 curl https://packages.microsoft.com/config/debian/9/prod.list \u003e /etc/apt/sources.list.d/mssql-release.list \\\n \u0026\u0026 apt-get update \\\n \u0026\u0026 ACCEPT_EULA=Y apt-get install --yes --no-install-recommends msodbcsql17 msodbcsql18 mssql-tools18 \\\n \u0026\u0026 install2.r odbc \\\n \u0026\u0026 apt-get clean \\\n \u0026\u0026 rm -rf /var/lib/apt/lists/* \\\n \u0026\u0026 rm -rf /tmp/*\n\nRUN Rscript -e 'install.packages(c(\"DBI\",\"odbc\"))'\n```\n\nPilote MYSQL:\n\n```Dockerfile\nFROM rocker/rstudio\n\nRUN apt-get update \u0026\u0026 apt-get install -y \\\n    curl \\\n    apt-transport-https \\\n    tdsodbc \\\n    libsqliteodbc \\\n    gnupg \\\n    unixodbc \\\n    unixodbc-dev \\\n    ## clean up\n    \u0026\u0026 apt-get clean \\\n    \u0026\u0026 rm -rf /var/lib/apt/lists/ \\\n    \u0026\u0026 rm -rf /tmp/downloaded_packages/ /tmp/*.rds\n\nRUN wget https://downloads.mysql.com/archives/get/p/10/file/mysql-connector-odbc-8.0.19-linux-debian9-x86-64bit.tar.gz \\\n \u0026\u0026 tar xvf mysql-connector-odbc-8.0.19-linux-debian9-x86-64bit.tar.gz \\\n \u0026\u0026 cp mysql-connector-odbc-8.0.19-linux-debian9-x86-64bit/bin/* /usr/local/bin \\\n \u0026\u0026 cp mysql-connector-odbc-8.0.19-linux-debian9-x86-64bit/lib/* /usr/local/lib \\\n \u0026\u0026 sudo apt-get update \\\n \u0026\u0026 apt-get install --yes libodbc1 odbcinst1debian2 \\\n \u0026\u0026 chmod 777 /usr/local/lib/libmy*\n\nRUN myodbc-installer -a -d -n \"MySQL ODBC 8.0 Driver\" -t \"Driver=/usr/local/lib/libmyodbc8w.so\" \\\n \u0026\u0026 myodbc-installer -a -d -n \"MySQL ODBC 8.0\" -t \"Driver=/usr/local/lib/libmyodbc8a.so\"\n\nRUN Rscript -e 'install.packages(c(\"DBI\",\"odbc\"))'\n```\n\n### LLM.Ci - cɪ / xn--c-b2a\n\n#Contactez Nous \u003cbr\u003e\n\nE-mail : dev@llm.ci\u003cbr\u003e\nGroupe : https://www.facebook.com/groups/groupetech\u003cbr\u003e\nGroupe : https://www.facebook.com/groups/iagroupe\u003cbr\u003e\nThreads : https://www.threads.net/@be4dev\u003cbr\u003e\nMessenger: https://m.me/be4dev\u003cbr\u003e\nInstagram : https://www.instagram.com/be4dev/\u003cbr\u003e\nTiktok: https://www.tiktok.com/@mdrtechnologie\u003cbr\u003e\nLinkedin: https://www.linkedin.com/in/minopy\u003cbr\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevllm%2Ffichier-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevllm%2Ffichier-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevllm%2Ffichier-docker/lists"}