Back for more I see!! Well glad you’ve come back to round three where we are going to make a few more minor adjustments to our container and run our first shell script.
Make sure your container is running by executing the following command in your command prompt window: docker ps If you don’t see the name of your container you can simple run this command docker start NAMEOFYOURCONTAINER in the command prompt.
So here we are back for Part 2 (I highly recommend you read Part 1 if you haven’t yet). In this post we are going to start configuring our containers and our SQL Instances to make them a little more functional and useful. In the first post, we really just created the containers with all the default settings. That means that all the storage is going to be inside the container. If it is deleted, the storage goes with it. So instead, to make the container more robust and upgradable, we are going to map some local storage on my host machine.
Let’s first take a look at the way I have my disk/folder structure laid out. Again, this is on my personal computer so it’s not a best practice for production and more suitable for development environments.
For each container, I’m creating a separate folder with the MSSQL paths that I need to put my databases, transaction log, and backup files on. Additionally, under the DockerMount folder I have a folder called sqldockershared (which I will put some shared content in later).
Recently, with the help of a colleague at work, I’ve started to dabble a little with containers. I had a customer that requested some specific code to be tested, and I realized that I didn’t have my own local instance of SQL running (always good to have a local one). I decided to try to make this process easier instead of going the traditional route of creating a Virtual Machine and also to help me learn a new technology. In these series of posts, I’m going to document my process of creating a Mini Data Lab for SQL Server on my desktop using Docker. It is intended to be for beginners and in no way is an article for best practices or production deployments.
Alright, I’ve got your attention. You’re probably thinking “who is this crazy guy that is using the word Love with Windows 8 in the same sentence?” Honestly though, I have not had many problems with Windows 8 and I’ve been happy running it for a long time. I’m actually disappointed that I don’t have Windows 8 at my job, so I can only use it at home. It has been extremely beneficial for me for my SQL Server related work. Why? And why am I stalling to answer your question? And why am I going to change the subject to Hyper-V?
If you’re still reading, then great, you’ve got the patience for what is coming next. Windows 8 Pro includes a Hyper Visor in it (Hyper-V to be exact). I’m not talking about software to connect to virtual environments, I’m talking about an actual Hyper Visor that allows you to create and manage virtual machines. Once you enable the option you’re ready to go after a restart, it’s that simple.
So what does this have to do with me as a SQL Server Professional? Well, how else are you going to build your own lab environment at home or at work where you can play around, build and break things, and be your own domain admin (warning: power may go to your head on that last one). It’s all part of your life long learning journey and your drive to become a better SQL Server Professional and get the latest and greatest version on your machine to test out without ruining your OS. It so happens that I’m a nice guy, and I’ll show you how to get your environment setup and how to create “templates” for future VMs with this Hyper-V Tricks for the SQL Professional Video I put together.
Are you ready to push SQL Server to it’s limits, test things you’ve never tested before, build and break environments without losing your job? If the answer is yes then this video is for you! When you’re done with this video make sure you check out my Virtual SQL Server Lab with Clustering post to enhance your own Virtual playground.
PowerShell Scripts mentioned in video (Remember to rename your VM if you like and to change the paths to match your setup):
After having a great opportunity to attend a Beta course for Hyper-V with Windows 2012 at Learning Tree, I decided to finally do what I have been planning to do for a while; build a fully working SQL Server Clustered Virtual Lab.
I’ve run into a road block. As a Microsoft Certified Trainer, I have all the software I need to get hands on with SQL Server. I even have Virtual Hard Drives (VHDs) that I can download directly from Microsoft; there are even publicly available ones HERE. My problem is on the hardware end. Since I’m not a millionaire that can throw money around and buy an entirely new server to put Windows Server on with SQL Server, I had to find another way… and I did 🙂