vctl 命令示例

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

与映像相关的命令

  • 构建新映像时,要成功从专用 Docker 映像仓库提取基础映像,请首先使用
    vctl login
    命令登录到专用 Docker 映像仓库,或者使用
    --credential
    选项将存储凭据的 JSON 文件传递给
    vctl build
    命令以进行映像仓库身份验证。例如:
    1. 使用以下命令,以 base64 格式对 Docker 映像仓库用户名和密码进行编码:
      echo -n USER:PASSWORD | base64
    2. 使用您的 Docker 映像仓库 URL 和在步骤 1 中生成的 base64 编码字符串创建一个
      config.json
      文件。
      { "auths": { "https://index.docker.io/v2/": { "auth": "xxxxxxxxxxxxxxx" } } }
    3. 通过将 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 虚拟机相关的命令

  • 获取对 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