以下命令行示例在 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 .
- 使用以下命令,以 base64 格式对 Docker 映像仓库用户名和密码进行编码:
与容器相关的命令
- 列出正在运行的容器。
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 虚拟机中执行命令。
- 通过指定 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
- 通过指定 CRX 虚拟机托管的容器。