How To Run Salt-Master In Docker Container
In this post we will use a Ubuntu based docker image in which I have already installed the salt-master and uploaded it into docker hub. If you are looking for installing the salt-master in docker container from scratch then check out this guide.
Here I am assuming that you are having Ubuntu host up and running with public IP configured on it.
Pull the docker image
$ docker pull yogeshprasadkurmi/ubuntu-salt-master |
---|
This is a Ubuntu 14.04.5 based image with salt-master installed on it. Salt-master will be up and running if you create the container using this images.
Create Salt-master Server
$ docker run -ti --name salt-master-server --net=none --privileged=true yogeshprasadkurmi/ubuntu-salt-master bash |
---|
This will create a container with salt-master installed on it.
Assigning an IP for a container
Here I am assuming that host machine is having interface "eth0" with public IP configured. Name of the container is salt-master-server. The below steps needs to be performed on the docker host.
Create a virtual interface
$ ip link add name veth0 link eth0 type macvlan mode bridge New virtual interface "veth0" will be createdGet the process id for the salt master container
$ docker inspect -f '{{.State.Pid}}' salt-master-server Create Link
$ mkdir -p /var/run/netns $ ln -s /proc/<processid>/ns/net /var/run/netns/<processid>
Assign the virtual interface to salt-master
$ ip link set veth0 netns <processid> name eth0 Get the public Ip to virtual interface
$ docker exec -it salt-master-server dhclient -v eth0
Note: If you are facing any issue on assigning the static public IP to the container then check out this guide
Restart the salt-master service (This needs to be run inside the container)
$ service salt-master restart
Comments
Post a Comment