Introducció

En aquest tema, explorarem com utilitzar PowerShell per gestionar i automatitzar tasques amb Docker. Docker és una plataforma que permet crear, desplegar i executar aplicacions en contenidors. PowerShell, amb els seus cmdlets i scripts, pot ser una eina poderosa per interactuar amb Docker i simplificar la gestió de contenidors.

Objectius

  • Entendre els conceptes bàsics de Docker.
  • Aprendre a instal·lar i configurar Docker.
  • Utilitzar cmdlets de PowerShell per gestionar contenidors Docker.
  • Automatitzar tasques comunes de Docker amb PowerShell.

Conceptes Bàsics de Docker

Abans de començar a treballar amb Docker i PowerShell, és important comprendre alguns conceptes bàsics de Docker:

  • Imatge: Una imatge és una plantilla llegible només que conté un conjunt d'instruccions per crear un contenidor.
  • Contenidor: Un contenidor és una instància d'una imatge que es pot executar.
  • Dockerfile: Un fitxer de text que conté les instruccions per crear una imatge Docker.
  • Registre: Un servei per emmagatzemar i distribuir imatges Docker.

Instal·lació i Configuració de Docker

Instal·lació de Docker

Per instal·lar Docker, segueix les instruccions de la documentació oficial de Docker per al teu sistema operatiu:

Instal·lació del Mòdul Docker per a PowerShell

Un cop Docker estigui instal·lat, necessitarem el mòdul Docker per a PowerShell. Per instal·lar-lo, obre una sessió de PowerShell amb privilegis d'administrador i executa:

Install-Module -Name Docker -Repository PSGallery -Force

Cmdlets de PowerShell per a Docker

Un cop instal·lat el mòdul Docker, podem utilitzar diversos cmdlets per gestionar contenidors. A continuació, es mostren alguns dels cmdlets més comuns:

Cmdlet Descripció
Get-Container Llista tots els contenidors
Start-Container Inicia un contenidor
Stop-Container Atura un contenidor
Remove-Container Elimina un contenidor
Get-ContainerImage Llista totes les imatges
Pull-ContainerImage Descarrega una imatge des d'un registre
Remove-ContainerImage Elimina una imatge
New-Container Crea un nou contenidor

Exemples Pràctics

Llistar Contenidors

Per llistar tots els contenidors en execució, utilitza el cmdlet Get-Container:

Get-Container

Descarregar una Imatge

Per descarregar una imatge des del Docker Hub, utilitza el cmdlet Pull-ContainerImage:

Pull-ContainerImage -Repository "nginx"

Crear i Iniciar un Contenidor

Per crear i iniciar un contenidor basat en la imatge nginx, utilitza els cmdlets New-Container i Start-Container:

# Crear el contenidor
$container = New-Container -ImageId "nginx" -Name "mynginx"

# Iniciar el contenidor
Start-Container -ContainerId $container.Id

Aturar i Eliminar un Contenidor

Per aturar i eliminar un contenidor, utilitza els cmdlets Stop-Container i Remove-Container:

# Aturar el contenidor
Stop-Container -ContainerId $container.Id

# Eliminar el contenidor
Remove-Container -ContainerId $container.Id

Automatització de Tasques amb PowerShell

Exemple d'Automatització

Suposem que volem automatitzar la creació d'un contenidor nginx, executar-lo i després eliminar-lo. Podem crear un script de PowerShell per fer-ho:

# Descarregar la imatge nginx
Pull-ContainerImage -Repository "nginx"

# Crear el contenidor
$container = New-Container -ImageId "nginx" -Name "mynginx"

# Iniciar el contenidor
Start-Container -ContainerId $container.Id

# Esperar 10 segons
Start-Sleep -Seconds 10

# Aturar el contenidor
Stop-Container -ContainerId $container.Id

# Eliminar el contenidor
Remove-Container -ContainerId $container.Id

Exercicis Pràctics

Exercici 1: Crear i Gestionar un Contenidor

  1. Descarrega la imatge hello-world des del Docker Hub.
  2. Crea un contenidor basat en la imatge hello-world.
  3. Inicia el contenidor.
  4. Llista tots els contenidors en execució.
  5. Atura el contenidor.
  6. Elimina el contenidor.

Solució

# Descarregar la imatge hello-world
Pull-ContainerImage -Repository "hello-world"

# Crear el contenidor
$container = New-Container -ImageId "hello-world" -Name "myhelloworld"

# Iniciar el contenidor
Start-Container -ContainerId $container.Id

# Llistar tots els contenidors en execució
Get-Container

# Aturar el contenidor
Stop-Container -ContainerId $container.Id

# Eliminar el contenidor
Remove-Container -ContainerId $container.Id

Resum

En aquest tema, hem après a utilitzar PowerShell per gestionar i automatitzar tasques amb Docker. Hem vist com instal·lar i configurar Docker, utilitzar cmdlets de PowerShell per gestionar contenidors i automatitzar tasques comunes. Amb aquests coneixements, pots començar a integrar Docker en els teus scripts de PowerShell per simplificar la gestió de contenidors.

Curs de PowerShell

Mòdul 1: Introducció a PowerShell

Mòdul 2: Scripting Bàsic

Mòdul 3: Treballant amb Objectes

Mòdul 4: Tècniques Avançades de Scripting

Mòdul 5: Automatització i Programació de Tasques

Mòdul 6: Remotització amb PowerShell

Mòdul 7: Funcions Avançades de PowerShell

Mòdul 8: PowerShell i DevOps

Mòdul 9: Millors Pràctiques i Consells Avançats

© Copyright 2024. Tots els drets reservats