VMware Fusion team has introduced the Project Nautilus with Fusion Tech Preview 20H1 recently. Project Nautilus, enables OCI container support to Fusion, which the Mac users can run and test their applications on the cloud. I thought to share my fresh experience with this brand new container run time in this post. Yes, it has obvious improvements since this is a tech preview and, if you have any thoughts positive/negative criticism or a reported bug make sure to share this in the official GitHub page.

If you have an existing VMware Fusion GA version, you can run both the versions. In order to use the container runtime you don’t need any additional application to be installed on your Mac, but TechPreview 20H1.

Installing VMware Fusion Tech Preview 20H1

You can download the official release in this link and to your Mac. Just run the installer from your downloaded package.

You might need to provide your administrator password to copy the application to your application folder.

Just proceed with the installation and, agree to the Terms and Conditions

If you have an license key witch applied to your existing Fusion package, it will pick it up automatically and, if you don’t have one you can buy a license separately.

I recommend you to participate to the customer improvement program, because it will help VMware team to improve the stability of the application. If you don’t want that, you have the luxury to deselect the option.

Start Working With VCTL

After completion of the installation, we need to start working with “vctl“, which is the primary command line interface for the Nautilus. The good thing about this is you don’t need any additional software for this as it is already been installed at this point.

But, system preparation is needed and, you can prepare your system with the below command

vctl system start

It will make your system ready with storage and, networking for your containers.

To get a glance of the basic vctl commands, you can just use “vctl” and, it also gives you the basic usage of the commands

Read More:

Container images can be downloaded from a centralized container repository.

vctl pull <container_repository_and_path>/<container_name>:<tag>

Above command needs to be followed, which is much similar to the docker pull command. The progress of the image pulling gave me an unusual output, but the my container image successfully pulled to my local repository. Hope this output will be fixed in coming releases.

To view the container images below commands need to be used

vctl get image (shorten version vctl get i)

To run the container in “non-detached” mode use the below command

vctl run container <container_name> -i <docker_image>

To view the running containers use the “ls” command, the output will give you the details such as IP address, status ,etc

vctl ls c

To run the container in detached mode (run in background) use the “-d” flag with the container. Note the IP address of the container.

If you check the container IP address in your browser your container web page will be loaded

Connect To The Container Shell

Below command will give you access to the container shell. This is quite useful for the container interaction. Below output shows the container IP address from the shell.

To come out from the shell “exit” command can be used.

Start And Stop A Container

To start and stop the containers below commands can be used.

To start the container : vctl start container <container_name> -d (-d for detached mode)

To stop the container : vctl stop container <container_name>

Once you stop a container container will not be deleted, but stopped. To view the stopped containers use the ls command with “-a” flag

vctl ls c -a

To remove these stopped containers below command can be used

vctl delete c <container_name>

View And Remove Unused Container Images

You can view the downloaded containers as below

vctl ls images (-i is the shor flag)

To remove the image

vctl delete image <image_name>

View System Status

You can view the overall Nautilus system status with below command

vctl system status

I hope this is useful for those who interested about these releases and, we expect to see further improvements of these products. Again, make sure to report any bug or your feedback in the official GitHub page.