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:
- Codificare il nome utente e la password del registro Docker in Base64 con il comando seguente:
echo -n USER:PASSWORD | base64
- 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" } } }
- 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 .
- Codificare il nome utente e la password del registro Docker in Base64 con il comando seguente:
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
- Specificando il contenitore ospitato dalla macchina virtuale CRX.
- 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
- Specificando il contenitore ospitato dalla macchina virtuale CRX.