以下命令行示例在 VMware Fusion 上运行。

构建新映像时,要成功从专用 Docker 映像仓库提取基础映像,请首先使用 vctl login 命令登录到专用 Docker 映像仓库,或者使用 --credential 选项将存储凭据的 JSON 文件传递给 vctl build 命令以进行映像仓库身份验证。例如:

a

使用以下命令,以 base64 格式对 Docker 映像仓库用户名和密码进行编码:

echo -n USER:PASSWORD | base64

b

使用您的 Docker 映像仓库 URL 和在步骤 1 中生成的 base64 编码字符串创建一个 config.json 文件。

{
                           "auths": {
                                          "https://index.docker.io/v2/": {
                                                         "auth": "xxxxxxxxxxxxxxx"
                                         }
                            }
}

c

通过将 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 mysql

vctl 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 虚拟机的 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