Gli esempi della riga di comando seguenti funzionano in VMware Fusion.

Comandi relativi all'immagine

  • Quando si crea una nuova immagine, per estrarre correttamente l'immagine di base da un registro Docker privato, utilizzare l'opzione --credential per passare un file JSON in cui sono archiviate le credenziali al comando vctl build per l'autenticazione del registro. Ad esempio:
    1. Codificare il nome utente e la password del registro Docker in Base64 con il comando seguente:

      echo -n USER:PASSWORD | base64

    2. Creare un file config.json con l'URL del registro Docker e la stringa codificata in Base64 generata nel passaggio 1.
      {
                                 "auths": {
                                                "https://index.docker.io/v2/": {
                                                               "auth": "xxxxxxxxxxxxxxx"
                                               }
                                  }
      }
      
    3. Creare la nuova immagine la cui immagine di base si trova in un registro Docker privato, passando il file JSON al comando vctl build:

      vctl build --file Dockerfile --tag docker.io/mynamespace/myrepo:1.0 --credential config.json .

Comandi correlati al contenitore

  • Elencare i contenitori in esecuzione.

    vctl ps

  • Elencare tutti i contenitori, inclusi i contenitori in esecuzione e i contenitori arrestati.

    vctl ps --all

  • Eseguire un contenitore in modalità indipendente utilizzando l'immagine nginx, che è analoga a docker.io/library/nginx:latest.

    vctl run --name myContainer -d nginx

  • Eseguire un contenitore utilizzando l'opzione --publish e l'immagine fluentd. In questo caso fluentd equivale a docker.io/library/fluentd:latest.

    vctl run --name myContainer --publish 24224:24224/udp --publish 24224:24224 fluentd

  • Eseguire più contenitori e abilitare l'individuazione e la comunicazione tra loro.
    • L'utilità vctl non dispone di una subnet o di una funzionalità di collegamento per connettere più contenitori a una subnet.

      Per abilitare la comunicazione tra più contenitori, avviare il contenitore con l'opzione --publish. In questo modo, la porta del contenitore viene associata alla porta dell'host in modo che il servizio fornito dal contenitore sia accessibile dall'esterno.

    vctl run --name mydb -m 2048 -e MYSQL_ROOT_PASSWORD=password -p 3306:3306 mysql

    vctl run --name mymatomo -m 4096 -p 8080:80 -e MATOMO_DATABASE_HOST=<Host_IP>:3306 matomo

  • Eseguire un contenitore utilizzando l'opzione --volume e l'immagine bonita. In questo caso bonita equivale a docker.io/library/bonita:latest.

    vctl run --name myContainer -p 8080:8080 --volume ~/Documents/container:/opt/bonita bonita

Comandi correlati alla macchina virtuale CRX

  • Ottenere l'accesso alla shell in una macchina virtuale CRX.
    • Specificando il contenitore ospitato dalla macchina virtuale CRX.

      vctl execvm --sh -c myContainer

    • Specificando il percorso VMX della macchina virtuale CRX.
      Nota: Per ottenere il percorso VMX, eseguire il comando vctl describe myContainer e fare riferimento al valore di Host virtual machine nell'output.

      vctl execvm --sh <Home_Folder_of_Your_Account>/.vctl/.r/vms/myContainer/myContainer.vmx

  • Eseguire un comando in una macchina virtuale CRX.
    • Specificando il contenitore ospitato dalla macchina virtuale CRX.

      vctl execvm -c myContainer /bin/ls

    • Specificando il percorso VMX della macchina virtuale CRX.
      Nota: Per ottenere il percorso VMX, eseguire il comando vctl describe myContainer e fare riferimento al valore di Host virtual machine nell'output.

      vctl execvm <Home_Folder_of_Your_Account>/.vctl/.r/vms/myContainer/myContainer.vmx /bin/ls