enable dns w/ docker

This commit is contained in:
Brad Rydzewski 2015-09-03 18:17:51 -07:00
parent be274cf2e9
commit 678550e68f
2 changed files with 24 additions and 17 deletions

View File

@ -4,13 +4,13 @@
FROM ubuntu:14.04 FROM ubuntu:14.04
RUN apt-get update -qq \ RUN apt-get update -qq \
&& apt-get -y install curl \ && apt-get -y install curl \
apt-transport-https \ apt-transport-https \
ca-certificates \ ca-certificates \
curl \ curl \
lxc \ lxc \
iptables \ iptables \
&& curl -sSL https://get.docker.com/ubuntu/ | sh \ && curl -sSL https://get.docker.com/ubuntu/ | sh \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*

29
main.go
View File

@ -12,16 +12,17 @@ import (
) )
type Docker struct { type Docker struct {
Storage string `json:"storage_driver"` Storage string `json:"storage_driver"`
Registry string `json:"registry"` Registry string `json:"registry"`
Insecure bool `json:"insecure"` Insecure bool `json:"insecure"`
Username string `json:"username"` Username string `json:"username"`
Password string `json:"password"` Password string `json:"password"`
Email string `json:"email"` Email string `json:"email"`
Auth string `json:"auth"` Auth string `json:"auth"`
Repo string `json:"repo"` Repo string `json:"repo"`
Tag string `json:"tag"` Tag string `json:"tag"`
File string `json:"file"` File string `json:"file"`
Dns []string `json:"dns"`
} }
func main() { func main() {
@ -55,12 +56,16 @@ func main() {
cmd.Stderr = ioutil.Discard cmd.Stderr = ioutil.Discard
cmd.Run() cmd.Run()
args := []string{"-d", "-s", vargs.Storage} args := []string{"daemon", "-s", vargs.Storage}
if vargs.Insecure && len(vargs.Registry) != 0 { if vargs.Insecure && len(vargs.Registry) != 0 {
args = append(args, "--insecure-registry", vargs.Registry) args = append(args, "--insecure-registry", vargs.Registry)
} }
for _, value := range vargs.Dns {
args = append(args, "--dns", value)
}
cmd = exec.Command("docker", args...) cmd = exec.Command("docker", args...)
cmd.Stdout = ioutil.Discard cmd.Stdout = ioutil.Discard
cmd.Stderr = ioutil.Discard cmd.Stderr = ioutil.Discard
@ -74,6 +79,8 @@ func main() {
// Set the Registry value // Set the Registry value
if len(vargs.Registry) == 0 { if len(vargs.Registry) == 0 {
vargs.Registry = "https://index.docker.io/v1/" vargs.Registry = "https://index.docker.io/v1/"
} else {
vargs.Repo = fmt.Sprintf("%s/%s", vargs.Registry, vargs.Repo)
} }
// Set the Dockerfile path // Set the Dockerfile path
if len(vargs.File) == 0 { if len(vargs.File) == 0 {