github.com/Ilhicas/nomad@v1.0.4-0.20210304152020-e86851182bc3/scripts/release/Dockerfile (about)

     1  # Dockerfile for building nomad binaries
     2  # that mimics Vagrant environment as far as required
     3  # for building the scripts and running provision scripts
     4  
     5  FROM ubuntu:18.04
     6  
     7  RUN apt-get update; apt-get install -y \
     8              apt-transport-https \
     9              ca-certificates \
    10              curl \
    11              git \
    12              sudo \
    13              tree \
    14              unzip \
    15              wget
    16  
    17  RUN useradd --create-home vagrant \
    18      && echo 'vagrant      ALL = (ALL) NOPASSWD: ALL' >> /etc/sudoers
    19  
    20  # install priv packages
    21  COPY ./scripts/vagrant-linux-priv-config.sh /tmp/scripts/vagrant-linux-priv-config.sh
    22  RUN /tmp/scripts/vagrant-linux-priv-config.sh
    23  
    24  COPY ./scripts/vagrant-linux-priv-go.sh /tmp/scripts/vagrant-linux-priv-go.sh
    25  RUN /tmp/scripts/vagrant-linux-priv-go.sh
    26  
    27  COPY ./scripts/vagrant-linux-priv-buf.sh /tmp/scripts/vagrant-linux-priv-buf.sh
    28  RUN /tmp/scripts/vagrant-linux-priv-buf.sh
    29  
    30  USER vagrant
    31  
    32  COPY ./scripts/vagrant-linux-unpriv-ui.sh /tmp/scripts/vagrant-linux-unpriv-ui.sh
    33  RUN /tmp/scripts/vagrant-linux-unpriv-ui.sh
    34  # avoid requiring loading nvm.sh by using a well defined path as an alias to the node version
    35  RUN /bin/bash -c '. ~/.nvm/nvm.sh && ln -s ~/.nvm/versions/node/$(nvm current) ~/.nvm/versions/node/.default'
    36  
    37  COPY ./scripts/release/docker-build-all /tmp/scripts/docker-build-all
    38  
    39  # Update PATH with GO bin, yarn, and node
    40  ENV GOPATH="/opt/gopath" \
    41      PATH="/home/vagrant/.nvm/versions/node/.default/bin:/home/vagrant/bin:/opt/gopath/bin:/home/vagrant/.yarn/bin:/home/vagrant/.config/yarn/global/node_modules/.bin:$PATH"
    42  
    43  RUN mkdir -p /opt/gopath/src/github.com/hashicorp/nomad
    44  RUN mkdir -p /home/vagrant/bin \
    45      && git config --global user.email "nomad@hashicorp.com" \
    46      && git config --global user.name "Nomad Release Bot"