vctl 命令示例
以下命令行示例在 VMware Fusion 上运行。
与映像相关的命令
- 构建新映像时,要成功从专用 Docker 映像仓库提取基础映像,请首先使用vctl login命令登录到专用 Docker 映像仓库,或者使用--credential选项将存储凭据的 JSON 文件传递给vctl build命令以进行映像仓库身份验证。例如:
- 使用以下命令,以 base64 格式对 Docker 映像仓库用户名和密码进行编码:echo -n USER:PASSWORD | base64
- 使用您的 Docker 映像仓库 URL 和在步骤 1 中生成的 base64 编码字符串创建一个config.json文件。{ "auths": { "https://index.docker.io/v2/": { "auth": "xxxxxxxxxxxxxxx" } } }
- 通过将 JSON 文件传递到vctl build命令,生成基础映像位于专用 Docker 映像仓库中的新映像:vctl build --file Dockerfile --tag docker.io/mynamespace/myrepo:1.0 --credential config.json .
与容器相关的命令
- 列出正在运行的容器。vctl ps
- 列出所有容器,包括正在运行的容器和已停止的容器。vctl ps --all
- 使用与docker.io/library/nginx:latest相同的nginx映像在分离模式下运行容器。vctl run --name myContainer -d nginx
- 使用--publish选项和fluentd映像运行容器,这里的fluentd等同于docker.io/library/fluentd:latest。vctl run --name myContainer --publish 24224:24224/udp --publish 24224:24224 fluentd
- 运行多个容器,并在容器之间启用发现功能和实现通信。
- vctl 实用程序没有子网或将多个容器连接到子网的链接功能。要实现多个容器之间的通信,请使用--publish选项启动容器。这会将容器端口绑定到主机端口,以便可以从外部访问容器提供的服务。
vctl run --name mydb -m 2048 -e MYSQL_ROOT_PASSWORD=password -p 3306:3306 mysqlvctl run --name mymatomo -m 4096 -p 8080:80 -e MATOMO_DATABASE_HOST=<Host_IP>:3306 matomo - 使用--volume选项和bonita映像运行容器,这里的bonita等同于docker.io/library/bonita:latest。vctl run --name myContainer -p 8080:8080 --volume ~/Documents/container:/opt/bonita bonita
与 CRX 虚拟机相关的命令
- 获取对 CRX 虚拟机的 shell 访问权限。
- 通过指定 CRX 虚拟机托管的容器。vctl execvm --sh -c myContainer
- 通过指定 CRX 虚拟机的 vmx 路径。要获取 vmx 路径,请运行vctl describe myContainer命令,并参考输出中的主机虚拟机值。vctl execvm --sh <Home_Folder_of_Your_Account>/.vctl/.r/vms/myContainer/myContainer.vmx
- 在 CRX 虚拟机中执行命令。
- 通过指定 CRX 虚拟机托管的容器。vctl execvm -c myContainer /bin/ls
- 通过指定 CRX 虚拟机的 vmx 路径。要获取 vmx 路径,请运行vctl describe myContainer命令,并参考输出中的主机虚拟机值。vctl execvm <Home_Folder_of_Your_Account>/.vctl/.r/vms/myContainer/myContainer.vmx /bin/ls