Selamlar,
SQL Server 2017’nin Docker üzerinde çalıştırıldığı duyurulmasından sonra docker konusu üzerinde çalışmalar yapıyordum ve bugün sizlere “Azure da LinuxVM’e Docker ve SQL Server 2017 Kurulumunu” anlatacağım. Test çalışması için Microsoft Azure üzerinde bir LinuxVM’im var. Bu makinenin özelliklerini aşağıda görebilirsiniz.
SSH ile LinuxVM’e bağlantıkdan sonra yapmamız gereken apt-get update ile paket listemizi güncellemek olacaktır.
sudo apt-get update
Paket listesinin güncelledikten sonra HTTPS üzerinden paket yüklemesi yapabilmek için gerekli olan paketi yüklüyoruz.
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common
Üçüncü adım olarak Docker resmi GPG keyini ekliyoruz.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Docker reposunu apt repolarımıza ekliyoruz.
sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
Docker CE kurulumunu yapabilmek için tekrar paket listemizi güncelliyoruz.
sudo apt-get update
Docker Ce’nin son versiyonun kurulumu için aşağıdaki kodu çalıştırıyoruz.
sudo apt-get install docker-ce
LinuxVM üzerine Docker kurulumunu tamamladık, Docker’ımızın çalıştığını öncelikli olarak görelim.
sudo systemctl status docker
Hadi şimdid docker’ı test etmek için basit bir Hello World Yazısı yazalım 🙂
Görüldüğü gibi docker kurulumunu başarılı bir şekilde tamamladık. Şimdi sıra kurulumunu yaptığımız docker üzerine SQL Server 2017 kurulumunu yapmaya geldi.
SQL Server kurulumuna başlamadan önce Docker Hub’dan SQL Server 2017’in Linux imajını almamız gerekiyor. Bunun için ;
sudo docker pull microsoft/mssql-server-linux:2017-latest
SQL Server 2017’in imajını da pull ettiğimize göre artık imajı docker üzerinde çalıştırmamız gerekiyor. Bu işlem için ;
sudo docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=http://www.caglarozenc.com' \ -p 1433:1433 --name DockerSQL \ -d microsoft/mssql-server-linux:2017-latest
Burada tanımlama yapacağımız SA parolası complex bir şifre olmak zorunda aksi durumda sql server servisi start olmuyor. Gördüğünüz gibi kurulumu da tanımladık. Şimdi “docker ps” komutu ile çalışan container’ları listeleyelim. “docker ps -a” şeklinde bir çalıştırma yapsaydık çalışmış ve durmuş olan container’ları da görecektik.
sudo docker ps
Evet gördüğünüz gibi docker’ımız çalışıyor, üzerinde ki sql server 2017 kurduğumuz bir container’ımız da var ve 2 dakikadır up durumda. Son olarak ise bu veritabanı sunucusuna erişim sağlayalım. Bağlantı aşamasında sqlcmd de kullanılabilir. İlk bağlantı örneğimiz SQLCmd üzerinden verelim.
sudo docker exec -it DockerSQL /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P '<a href="http://www.caglarozenc.com/">http://www.caglarozenc.com</a>'
Gördüğünüz gibi docker üzerinde SQL Server 2017 çalışıyor ve versiyon bilgisini de öğrendik. Peki ServerName gibi bir kaç server bilgisini de SQL Operation Studio ile alalım.
SQL Operation Studio’yu kurduktan sonra aşağıdaki gibi sunucu bilgilerimizi yazıyor ve connect diyoruz.
Bağlantı işlemi tamamlandıktan sonra aşağıdaki kod bloğunu çalıştırıp sunucu ile ilgili temel bilgileri öğreniyoruz.
SELECT @@SERVERNAME, SERVERPROPERTY('ComputerNamePhysicalNetBIOS'), SERVERPROPERTY('MachineName'), SERVERPROPERTY('ServerName')
Gördüğünüz gibi sorgu sonucusunda dönen değerler bize container ID bilgisini dönmektedir.
Bir makalemizin daha sonuna geldik. Docker üzerindeki yazılarımıza devam ediyor olacağız. Görüşmek üzere 🙂
DipNot : Sadece SQL Operation Studio ile değil, güncel bir SQL Server Management Studio v17.x ile de bağlantı sağlayabilirsiniz.