Build errors within a Docker application

I am trying to build the Letsencrypt’s Boulder code in an Ubuntu vritual machine, and so far failing miserably. Hopefully someone in this might be able to provide some useful feedback on how to proceed.

I am using Ubuntu 16.04. I installed the latest version of the docker engine available for this platform by following the steps in Docker Installation Guide. For good measure, I added my username to the docker group, and made sure that the basic Docker infrastructure is up and running by successfully launching the Hello-World application.

In order to build the Letsencrypt Boulder software one has to install the Docker Compose component, which I as described in the relevant documentation (which I can’t include a link to, for the rules of the forum won’t allow me to do so.) This installs version 1.8.0 of of Docker-Compose.

Once this is done, according to the Letsencrypt Boulder documentation, the build process is launched by invoking the docker-compose up command from the directory where the Letsencrypt Boulder software is installed. After doing this, the process gets successfully started, resulting in a number of dependencies being downloaded and installed. However, the build process stops prematurely as follows:

$ docker-compose up
WARNING: The GOPATH variable is not set. Defaulting to a blank string.
boulder_bmysql_1 is up-to-date
boulder_bhsm_1 is up-to-date
boulder_brabbitmq_1 is up-to-date
Creating boulder_boulder_1

ERROR: for boulder Cannot create container for service boulder: create .: “.” i
ncludes invalid characters for a local volume name, only “[a-zA-Z0-9][a-zA-Z0-9_
.-]” are allowed
ERROR: Encountered errors while bringing up the project.

(This was the second time I ran docker-compose up - hence the absence of diagnostics to do with downloaded dependencies.)

I notice that GOPATH was not set, so I set as follows:

export GOPATH=$HOME

I then ran docker-compose up once again, and this is what I am getting:

$ docker-compose up
boulder_bhsm_1 is up-to-date
boulder_bmysql_1 is up-to-date
boulder_brabbitmq_1 is up-to-date
Creating boulder_boulder_1

ERROR: for boulder Cannot start service boulder: oci runtime error: no such fil
e or directory
ERROR: Encountered errors while bringing up the project.

Being a complete rookie at both Docker and Boulder, I am utterly stymied at this point. I would appreciate it very much if someone in this forum could throw some light at what may be going on here, and point me in the right direction toward solving these problems.

In case this will be of use to anybody:

The Boulder software ships a file named docker-compose.yml. If one applies the following patch to this file, things work as expected:

— a/docker-compose.yml
+++ b/docker-compose.yml
@@ -4,7 +4,7 @@ boulder:
environment:
FAKE_DNS: 127.0.0.1
volumes:

  •  - $GOPATH:/go/
    

+# - $GOPATH:/go/
- /tmp:/tmp
net: bridge
extra_hosts:

That line implies that you should have a go/ directory in your $GOPATH. I had this same problem and made an issue. https://github.com/letsencrypt/boulder/issues/2141

Hi! Actually, my last comment was wrong. I ran into this same issue but there was a problem with my $GOPATH.