Announcing Actian Vector – Community Edition support for Mac OS X via Docker By Jeremy Hankinson November 21, 2017 We’re pleased to announce that Actian Vector 5.0 Community Edition now includes support for Mac OS X via Docker. Over the last few years Mac OS X has become increasingly popular with Developers, as has Docker, the virtualization platform that allows you to bundle applications along with their native OS and run them in lightweight containers across a variety of platforms including OS X. Deploying Actian Vector on a Mac using Docker dramatically reduces setup time and complexity compared to prior versions that relied on Linux virtual machines. Actian Vector Community Edition Mac OS X users will also benefit from the latest release of Actian Director, which now also includes Mac support via a native Mac installer. Actian Director is a desktop application that makes it easier for Actian Vector users to manage databases, tables, servers (and their components), administer security (users, groups, roles, and profiles), and create, store, and execute queries. Getting started with Actian Vector and Docker for Mac OS X To get started, first register and download the Actian Vector Community Edition. Then create a work directory, and copy the .tgz file downloaded into that location. Next, download the zip from the Actian Github repository, extract the Dockerfile and copy that to the work location. You should now have a work directory that looks something like this: mymac:Docker hanje04$ pwd /Users/hanje04/Projects/Docker mymac:Docker hanje04$ ls Dockerfile actian-vector-5.0.0-412-community-linux-x86_64.tgz If you haven’t already done so, download and install Docker and Kitematic (optional, but quite handy if you don’t want to just use Docker from the command line). Open a Terminal window (Applications->Utilities->Terminal) and run the following command which will download a minimal Centos 7 machine image, then install Actian Vector into it: mymac:Docker hanje04$ docker build -t actian/vector5.0:community . Sending build context to Docker daemon 31.74kB Step 1/17 : FROM centos:7 … <loads and loads of output> … Successfully built 7cb12d07e583 Successfully tagged actian/vector5.0:community If all goes well, a new image will be created: mymac:Docker hanje04$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE actian/vector5.0 community 7cb12d07e583 29 seconds ago 1.92GB … Now we can launch a container from this image. mymac:Docker hanje04$ docker run –name vector actian/vector5.0:community Actian Vector (5.0.0) Vector/ingstart Checking host “localhost” for system resources required to run Vector… A new container gets created, and Vector will be started. Running the container this way will show you the Vector startup details, and continue running in the foreground. To stop it, hit Ctrl-C and Vector and the container will shut down. You can also launch the image in the background. We can use the –d flag to run it as a daemon: mymac:Docker hanje04$ docker run –name vector -d actian/vector5.0:community ef050ac8643cdb8ed04f909c622b1c3b4c49fcc08e731e3c2bbc6e774f260752 mymac:Docker hanje04$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ef050ac8643c actian/vector5.0:community “dockerctl” 20 hours ago Up 20 hours 16902/tcp, 27832/tcp, 27839/tcp, 44223/tcp vector If you’ve already created an image, you will get an error if you issue a second “docker run” command using the same name. After the container has been initially created it can be stopped and restarted without losing the data: mymac:Docker hanje04$ docker stop vector vector hanje04-osx:tmp hanje04$ docker start vector vector If you need to recreate the image, you need to stop and remove it first: mymac:Docker hanje04$ docker stop vector vector hanje04-osx:tmp hanje04$ docker rm vector vector NOTE: This will completely destroy the image along with any data or databases. Once we have a running container we can login and use the instance: mymac:Docker hanje04$ docker exec -it vector bash [root@1118133200b1 /]# createdb mydb Creating database ‘mydb’ . . . Creating DBMS System Catalogs . . . Modifying DBMS System Catalogs . . . Creating Standard Catalog Interface . . . Creating Front-end System Catalogs . . . Creation of database ‘mydb’ completed successfully. [root@1118133200b1 /]# sql mydb TERMINAL MONITOR Copyright 2016 Actian Corporation Vector Linux Version VW 5.0.0 (a64.lnx/412) login Thu Nov 16 12:18:15 2017 Enter g to execute commands, “help helpg” for general help, “help tmg” for terminal monitor help, q to quit continue * Getting started with Actian Director for Mac OS X You may also want to connect to this instance from an external application, e.g. via Actian Director which has also recently been made available for OS/X. To do so you need to map the corresponding ports in the image to those on the host machine. For Director this would be 16902 and 44223. hanje04-osx:Docker hanje04$ docker run –name vector -d -p 16902:16902 -p 44223:44223 actian/vector5.0:community be6b51f7a2e7d1997b94e370c44d93d1a099761bee20cd2cceea0cb76c349e15 hanje04-osx:Docker hanje04$ docker port vector 44223/tcp -> 0.0.0.0:44223 16902/tcp -> 0.0.0.0:16902 For JDBC connections 27839 needs to be mapped, for ODBC or Net connections 27832. NOTE: If you change these mapped ports after the container is started (e.g. via Kitematic), the container will be re-created from scratch, destroying any data you may have loaded into the database. Before you can connect, a database password must be set in the container. To do this, connect to the container as before and run the following: hanje04-osx:Docker hanje04$ docker exec -it vector bash [root@be6b51f7a2e7 /]# sql iidbdb TERMINAL MONITOR Copyright 2016 Actian Corporation Vector Linux Version VW 5.0.0 (a64.lnx/412) login Thu Nov 16 16:13:56 2017 Enter g to execute commands, “help helpg” for general help, “help tmg” for terminal monitor help, q to quit continue * alter user actian with password=newdbpasswordg Executing . . . continue * Your SQL statement(s) have been committed. Vector Version VW 5.0.0 (a64.lnx/412) logout After installing and launching Actian Director, the Vector instance in Docker will appear locally to Director. Simply click on the “Connect to instance” button to connect. Enter “localhost” as the instance, “actian” as the Authenticated User, the password you just set and hit connect. Experience the power of Vector analytics Now that you are all set up, it’s time to experience the power of Vector Analytics. You can refer to the Actian Vector 5.0 user guide to get familiar with configuring and managing Vector, important concepts, usage scenarios, and developing applications. Please check the Actian Vector forum and Knowledge Base if you get stuck or have any questions. About Jeremy Hankinson 20 Year Actian veteran. Director, Performance Engineering for Actian's Analytics Products with fingers in more pies than fingers. Technology enthusiast. Lapsed physicist. Embattled Father. Avid snow boarder. Englishman living in California.