昨天,今天,明天,每天的每天,你是否都多懂得一点点...

星期三, 四月 04, 2018

Use Azure file as docker volumn on Azure linux VM

I have a website running in azure container instance. I noticed that container instance is not cheaper than a linux VM. I would like to migrate to linux VM. 

The process is quite simple.

Firstly, you need to create a linux VM from azure portal. 

Then follow this website to get docker.


Most important command is sudo apt-get install docker-ce


Now you have docker installed.  You can run wordpress in docker easily. But I would like to link my new wordpress docker container to my existing azure file.

To do this, we need to install a plugin to allow VM to connect to azure file.



//download docker volume driver
// Move it
sudo mv azurefile-dockervolumedriver /usr/bin/
// make it executable
chmod +x /usr/bin/azurefile-dockervolumedriver
// Download this zip to get the two files
// install unzip
sudo apt install unzip
// unzip the file
unzip v0.5.1.zip
// copy the default file to the right location
sudo cp azurefile-dockervolumedriver-0.5.1/contrib/init/systemd/azurefile-dockervolumedriver.default /etc/default/azurefile-dockervolumedriver
// edit it to match your storage account
sudo vi /etc/default/azurefile-dockervolumedriver





You can get your storage info from azure portal


// Copy service file to right location
sudo cp azurefile-dockervolumedriver-0.5.1/contrib/init/systemd/azurefile-dockervolumedriver.service /etc/systemd/system/azurefile-dockervolumedriver.service
// Start the service, you will need to enter password for following four commands
systemctl daemon-reload
systemctl enable azurefile-dockervolumedriver
systemctl start azurefile-dockervolumedriver
systemctl status azurefile-dockervolumedriver









Use following commands to test, if myvol exist, it will use it, otherwise, a new store created.

sudo docker volume create -d azurefile --name myvol -o share=myvol
sudo docker run -i -t -v myvol:/data busybox
​

// Start a new wordpress instance

sudo docker volume create -d azurefile --name vol -o share=existStorageName
sudo docker run -d --name wp -v vol:/var/www/html -p 80:80 wordpress 

Open http port from azure portal for the VM



​
All good, you can stop your old container instance now, don't forget to update your dns to point to the new server.

 


​​
--
Feng

没有评论:

其它博客地址

此博客的同步博客地址: http://fengnz.wordpress.com
点这里进入我的MSN SPACE.