I'm trying to build a local dev environment for GoLang.
My environment would consist of a VirtualBox VM using ubuntu and inside I'd use docker-compose to build out my different pieces.
All other pieces of my environment work, except for golang.
When I attempt to get a simple hello world HTTP response it get back "ERR_SOCKET_NOT_CONNECTED" inside chrome.
My vagrant file looks like
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/trusty64"
port = 3000
config.vm.hostname = "vagrant-docker-example"
config.vm.network(:forwarded_port, guest: port, host: port)
config.vm.network(:forwarded_port, guest: 8080, host: 8080)
config.vm.network(:forwarded_port, guest: 80, host: 4567)
config.vm.provision :shell, inline: "apt-get update"
config.vm.provision :docker
config.vm.provision :docker_compose, env: { "PORT" => "#{port}" }, yml: ["/vagrant/docker-compose-base.yml","/vagrant/docker-compose.yml"], rebuild: true, project_name: "myproject", run: "always"
end
and my docker-compose file looks like
app:
build: ./
links:
- redis
ports:
- "${PORT}:8080"
nginx:
image: nginx:latest
ports:
- 80:80
finally my docker file looks like
# Start from a Debian image with the latest version of Go installed
# and a workspace (GOPATH) configured at /go.
FROM golang
# Copy the local package files to the container's workspace.
ADD . $GOPATH/src/github.com/sinangedik/vagrant-docker-go-example
#Build
RUN go get github.com/tools/godep &&\
cd $GOPATH/src/github.com/sinangedik/vagrant-docker-go-example &&\
godep go build
#Give the ownership to daemon
RUN ["chown", "-R", "daemon", "."]
USER daemon
#Set the port
ENV PORT 3000
# Document that the service listens on port 8080.
EXPOSE 3000
CMD ["/go/src/github.com/sinangedik/vagrant-docker-go-example/vagrant-docker-go-example"]
What am I doing wrong here?
the Vagrant call is being run inside windows 10.