from ironxl import *
# Supported for XLSX, XLS, XLSM, XLTX, CSV, and TSV
workbook = WorkBook.Load("sample.xlsx")
# Select worksheet at index 0
worksheet = workbook.WorkSheets[0]
# Get any existing worksheet
first_sheet = workbook.DefaultWorkSheet
# Select a cell and return the converted value
cell_value = worksheet["A2"].IntValue
# Read from ranges of cells elegantly.
for cell in worksheet["A2:A10"]:
print("Cell {} has value '{}'".format(cell.AddressString, cell.Text))
# Calculate aggregate values such as Min, and Sum
total_sum = worksheet["A2:A10"].Sum()
Docker est une plateforme open-source qui utilise des concepts basés sur des conteneurs pour automatiser le déploiement et la mise à l'échelle des applications à l'intérieur de conteneurs légers et portables. En termes simples, un conteneur Docker rassemble tout le code d'application et ses dépendances au sein d'une seule unité, uniforme à travers les environnements, allant de l'ordinateur portable d'un développeur jusqu'au serveur de test ou aux serveurs cloud de production.
Les conteneurs ne se comportent pas comme des systèmes traditionnels.machines virtuelles (VMs)parce qu'ils partagent le noyau du système d'exploitation de l'hôte. Par conséquent, les conteneurs sont beaucoup plus efficaces et démarrent plus rapidement. En effet, les conteneurs Docker garantissent un comportement cohérent à toutes les étapes du cycle de développement.
En fait, les images Docker sont des modèles pour les descriptions de conteneurs qui contiennent l'environnement d'application. Ce lot comprend également des kits d'outils pour gérer les cycles de vie des conteneurs. Un exemple est Docker Compose, que vous pouvez utiliser pour orchestrer des applications constituées de plusieurs conteneurs. Ensuite, il y a Docker Hub, un registre pour le partage d’images.
Qu'est-ce que les réseaux de Docker Compose ?
Les réseaux Docker Compose permettent aux services exécutés dans une application Docker Compose de communiquer entre eux au sein des mêmes environnements encapsulés. Si vous définissez plus d'un service dans un fichier docker-compose.yml, Docker Compose crée automatiquement un réseau par défaut afin que ces services puissent communiquer entre eux en utilisant les noms de service comme noms d'hôtes. Permet essentiellement à l'utilisateur de définir son propre réseau et plusieurs services avec le réseau créé.
Réseau de pont par défaut : Si vous ne définissez aucun réseau pour vos conteneurs lorsque vous exécutez docker-compose up, Docker crée automatiquement un réseau de pont. Tous les conteneurs peuvent communiquer entre eux en utilisant le nom de leur service comme nom d'hôte sur ce réseau de pilote par défaut.
Réseaux personnalisés : Avec ces options, les utilisateurs peuvent définir un ou deux réseaux personnalisés et même plus en tant que réseaux définis par l'utilisateur. Vous pouvez définir des réseaux personnalisés dans votre fichier de port de conteneur et docker-compose.yml. En assignant des services à ces réseaux, vous contrôlez la manière dont les conteneurs peuvent communiquer :
Les réseaux internes isolent les services des autres.
Des réseaux multiples permettent à certains services de communiquer entre eux tout en refusant cet accès à d'autres.
Découverte de service : Chaque service reçoit un nom d'hôte égal à son nom dans la configuration. Autrement dit, vous pouvez faire référence à un autre service dans un conteneur en utilisant le nom de l'autre service, par exemple, dans le service web, vous utiliseriez db pour faire référence à l'IP du conteneur de base de données.
Modes Réseau : Vous pouvez également définir des modes réseau pour utiliser le mode hôte, pont ou aucun pour les services. Le plus souvent utilisé est un pont, qui isole le trafic des conteneurs.
Quels sont les pilotes de réseau Docker ?
Les pilotes de réseau Docker décrivent les connexions et la communication des conteneurs entre eux ainsi qu'avec d'autres conteneurs et systèmes. Il existe divers cas d'utilisation, et les pilotes réseau peuvent être appliqués à ces cas, chacun offrant un niveau différent d'isolation, de connectivité et de performance. Nous passerons en revue chaque pilote réseau et expliquerons leur utilisation.
Types de pilotes de réseau Docker
Pont(par défaut)
Les réseaux internes de Docker permettent à un conteneur de communiquer avec d'autres sur un hôte unique. Si vous démarrez des conteneurs sans spécifier de réseau, Docker utilise le réseau bridge par défaut.
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker network create --driver bridge my_bridge_network docker run -d --name container1 --network my_bridge_network busybox sleep 3600 docker run -d --name container2 --network my_bridge_network busybox sleep 3600
$vbLabelText $csharpLabel
Ici, les noms de service peuvent être utilisés pour communiquer, comme ping container1 et container2.
Hôte
Avec le pilote hôte, le conteneur partage directement la pile réseau de l'hôte, de sorte qu'un conteneur n'obtient pas son propre isolement réseau personnalisé.
docker run -d --network host nginx
docker run -d --network host nginx
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker run -d --network host nginx
$vbLabelText $csharpLabel
Le conteneur NGINX partage désormais l'IP et les interfaces réseau de l'hôte, contournant ainsi l'isolation réseau.
Superposition
Il interconnecte les conteneurs à travers plusieurs hôtes et est principalement utilisé dans les environnements Docker Swarm ou Kubernetes, connectant des machines physiques ou virtuelles via des conteneurs pour communiquer en toute sécurité en utilisant un réseau virtuel.
docker network create -d overlay my_overlay_network
docker service create --name web --network my_overlay_network nginx
docker network create -d overlay my_overlay_network
docker service create --name web --network my_overlay_network nginx
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker network create -d overlay my_overlay_network docker service create --name web --network my_overlay_network nginx
$vbLabelText $csharpLabel
Cela crée un service dans un cluster Swarm qui peut être réparti sur plusieurs hôtes Docker.
None:
Ce non-pilote désactive la mise en réseau pour le conteneur. Ce conteneur est isolé de toute communication réseau externe.
docker run -d --network none busybox sleep 3600
docker run -d --network none busybox sleep 3600
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker run -d --network none busybox sleep 3600
$vbLabelText $csharpLabel
Le conteneur busy box n'aura pas accès à internet et ne pourra pas envoyer d'appels à d'autres conteneurs dans ses réseaux propres ou vers l'extérieur.
Macvlan
Le pilote Macvlan permet aux conteneurs de se présenter comme des dispositifs physiques dans le réseau avec leurs propres adresses MAC, leur permettant ainsi d'accéder directement au réseau physique.
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker network create -d macvlan \ --subnet=192.168.1.0/24 \ --gateway=192.168.1.1 \ -o parent=eth0 macvlan_network docker run -d --network macvlan_network busybox sleep 3600
$vbLabelText $csharpLabel
IPvlan
Le pilote IPvlan est similaire à Macvlan mais se concentre sur l'attribution d'adresses IP plutôt que sur la couche 2.(Adresses MAC). Cela permet à plusieurs conteneurs de partager la même interface réseau.
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker network create -d ipvlan \ --subnet=192.168.1.0/24 \ --gateway=192.168.1.1 ipvlan_network docker run -d --network ipvlan_network busybox sleep 3600
$vbLabelText $csharpLabel
Il partagera l'interface Ethernet de couche 2 de l'hôte avec mon réseau mais aura une adresse IP différente.
Plugins Personnalisés
Les plugins personnalisés Docker sont des pilotes réseau tiers ou développés par des utilisateurs offrant des fonctionnalités élaborées sur les capacités réseau qui vont au-delà de ce que Docker peut offrir par défaut. Les frameworks de solutions de mise en réseau externe avec des plugins Docker tiers permettent aux conteneurs Docker d'accéder à et de s'intégrer à certains frameworks bien connus comme le Software-Defined Networking, améliorant ainsi les capacités des développeurs, telles que la sécurité, l'évolutivité ainsi que la mise en réseau multi-hôtes. Docker offre aux développeurs et aux fournisseurs une architecture polyvalente pour les plugins réseau, leur permettant d'installer et d'utiliser Docker de la même manière que le pilote natif.
IronSecureDoc for Docker facilite l'ajout de capacités de traitement sécurisé de documents par les développeurs dans leurs applications conteneurisées. Avec Docker, vous pouvez encapsuler votre application ASP.NET Core avec IronSecureDoc dans un environnement uniforme qui facilite le déploiement et la mise à l'échelle. Pour le faire fonctionner, vous construisez un Dockerfile qui compose votre application ASP.NET Core en utilisant la bibliothèque IronSecureDoc, et éventuellement d'autres scripts d'installation ou configurations nécessaires pour que tout fonctionne.
Il comprend également un fichier docker-compose.yml contenant les dépendances de service, les variables d'environnement et les ports mappés, ce qui permet d'y accéder. Par conséquent, les tâches liées à la sécurité des documents facilitent la gestion, ce qui permet à votre application web de fonctionner de manière efficace et efficiente, en dehors de celle utilisée lors du développement ou en production. Installation et configuration d'IronSecureDoc : comme pour Docker, l'installation et la configuration appropriées d'IronSecureDoc seront nécessaires pour exploiter toutes les capacités offertes par le chiffrement des documents, la rédaction, etc.
Installer et exécuter IronSecureDoc
Exécutez la commande suivante dans l'invite de commande ou dans une fenêtre de terminal ouverte pour récupérer l'image Docker IronSecureDoc depuis le dépôt.
docker pull ironsoftwareofficial/ironsecuredoc
docker pull ironsoftwareofficial/ironsecuredoc
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker pull ironsoftwareofficial/ironsecuredoc
$vbLabelText $csharpLabel
Après avoir extrait une image d'un conteneur Docker, nous pouvons utiliser une autre commande pour démarrer IronSecureDoc, un autre conteneur opérationnel.
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
$vbLabelText $csharpLabel
La commande Docker run ci-dessus lancera une instance de conteneur de l'IronSecureDoc. Le réseau bridge est supposé pour l'isolement du réseau. Cela permet également l'accès externe aux services exposés à l'intérieur du conteneur via http://localhost:8080 en utilisant le drapeau —p 8080:8080; cela expose le service interne, fonctionnant sur le port 8080 du réseau du conteneur, sur son propre réseau, au port 8080 du réseau existant de l'hôte.
Les conteneurs fonctionnent, par défaut, sur le réseau bridge de Docker, ce qui les isole des autres conteneurs et du monde extérieur sauf si vous les exposez en utilisant le mappage de port, comme vous le faites ici. Les variables d'environnement passant sur IronSecureDoc_LicenseKey, ENVIRONMENT, HTTP_PORTS configurent le comportement de l'application dans le conteneur. Ce drapeau entraîne la suppression du conteneur lorsqu'il s'arrête.
Cette configuration présente l'avantage que le réseau bridge isole les services connectés des conteneurs en interne, tandis que le mappage des ports redirige le trafic externe de la machine hôte vers le service du conteneur, facilitant ainsi l'accès.
Utilisation de IronSecuredoc avec le port réseau Docker
L'API REST d'IronSecureDoc permet aux utilisateurs de rédiger, certifier et chiffrer des documents lors de l'installation et du lancement dans Docker. il a également été mentionné ailleurs. Voici lelienà la documentation.
Par exemple, pour soumettre un document pour chiffrement, vous pouvez effectuer une requête POST à l'API IronSecureDoc :
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'curl -X 'POST' \ 'http: -H 'accept: */ *' \ -H 'Content-Type: multipart/form-data' \ -F 'pdf_file=@test.pdf;type=application/pdf'
$vbLabelText $csharpLabel
Cela enverra automatiquement le document à IronSecureDoc, où il sera correctement crypté.
Conclusion
En général, la mise en réseau Docker est importante pour contrôler les applications et leur interaction avec d'autres applications ainsi qu'avec le reste du monde à travers différents pilotes et configurations répondant aux divers besoins des applications. La configuration par défaut du réseau pont permet d'atteindre une isolation très basique puisque le service peut être exposé aux systèmes hôtes par le biais de la mappage de ports, comme dans le cas de l'application IronSecureDoc. Il facilite la gestion et la configuration des applications conteneurisées, car cela améliore la flexibilité opérationnelle et l'évolutivité de l'application.
IronSecureDoc, un outil avancé de traitement de documents, est toujours prêt à utiliser les capacités de Docker en matière de conteneurisation. Cela signifie déployer des applications avec rapidité et fiabilité, garantir le support pour plusieurs environnements tandis que le support d'application environnemental est même de nature. Il intègre le réseau Docker avec IronSecureDoc, où l'intégration des applications est facile, accessible et gérée.
Par conséquent, cela rationalise beaucoup mieux les flux de travail pour améliorer l'efficacité et les résultats des opérations lors du traitement des documents. Cela améliorera finalement l'expérience tant lors du développement que du déploiement, ce qui en fait une solution précieuse pour les applications logicielles modernes. Pour plus d'informations sur les licences IronSecureDoc, veuillez suivre ce lienpage. Pour en savoir plus sur les nombreuses offres de produits d'Iron Software, suivez ce lien.lien.
Regan est diplômé de l'université de Reading, où il a obtenu une licence en ingénierie électronique. Avant de rejoindre Iron Software, il s'était concentré sur une seule tâche. Ce qu'il apprécie le plus chez Iron Software, c'est la diversité des tâches qu'il peut accomplir, qu'il s'agisse d'apporter une valeur ajoutée aux ventes, à l'assistance technique, au développement de produits ou à la commercialisation. Il aime comprendre comment les développeurs utilisent la bibliothèque d'Iron Software et utiliser ces connaissances pour améliorer continuellement la documentation et développer les produits.
< PRÉCÉDENT Nextcloud Docker Compose (Comment ça fonctionne pour les développeurs)
SUIVANT > Démarrer un conteneur Docker à partir d'une image (Tutoriel pour développeurs)
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucune obligation de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre gratuit Démonstration en direct
Fiable par plus de 2 millions d'ingénieurs dans le monde entier