Last active
December 8, 2016 05:07
-
-
Save ailispaw/4c90d9f2086ae388f998ed0c809e820c to your computer and use it in GitHub Desktop.
MariaDB on NFS + bindfs in Barge with Vagrant
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# A dummy plugin for Barge to set hostname and network correctly at the very first `vagrant up` | |
module VagrantPlugins | |
module GuestLinux | |
class Plugin < Vagrant.plugin("2") | |
guest_capability("linux", "change_host_name") { Cap::ChangeHostName } | |
guest_capability("linux", "configure_networks") { Cap::ConfigureNetworks } | |
end | |
end | |
end | |
PWD=Dir.pwd | |
Vagrant.configure(2) do |config| | |
config.vm.define "barge-bindfs" | |
config.vm.box = "ailispaw/barge" | |
config.vm.network :private_network, ip: "192.168.33.10" | |
config.vm.synced_folder ".", "/vagrant", type: "nfs", | |
mount_options: ["nolock", "vers=3", "udp", "noatime", "actimeo=1"] | |
config.vm.provision :shell, run: "always" do |sh| | |
sh.inline = <<-EOT | |
pkg install bindfs | |
if mountpoint -q /vagrant && ! mountpoint -q '#{PWD}/mariadb'; then | |
mkdir -p /vagrant/mariadb | |
mkdir -p '#{PWD}/mariadb' | |
_UID=$(ls -ld /vagrant | awk '{print $3}') | |
_GID=$(ls -ld /vagrant | awk '{print $4}') | |
bindfs --map=${_UID}/999:@${_GID}/@999 /vagrant/mariadb '#{PWD}/mariadb' | |
fi | |
docker rm -f mariadb || true | |
EOT | |
end | |
config.vm.provision :docker, run: "always" do |docker| | |
docker.pull_images "mariadb" | |
docker.run "mariadb", | |
image: "mariadb", | |
args: [ | |
"-e MYSQL_ROOT_PASSWORD=test", | |
"-v '#{PWD}/mariadb':/var/lib/mysql", | |
"-p 3306:3306" | |
].join(" "), | |
restart: false | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment