From 06f2d65500b6e823b86fa45ec775a3b8f10c552c Mon Sep 17 00:00:00 2001 From: karimb Date: Mon, 12 Feb 2018 11:24:26 +0100 Subject: [PATCH] docs: Add docs for docker usage --- Makefile | 11 +++++++++++ docker/Dockerfile.build | 12 ++++++++++++ docker/Dockerfile.static | 9 +++++++++ docs/quick-start-guide.md | 5 +++++ 4 files changed, 37 insertions(+) create mode 100644 docker/Dockerfile.build create mode 100644 docker/Dockerfile.static diff --git a/Makefile b/Makefile index c8f240c8..4f487c77 100644 --- a/Makefile +++ b/Makefile @@ -329,4 +329,15 @@ deb: # cleanup rm -rf debian/mgmt/ +build_container: + docker build -t purpleidea/mgmt-build -f docker/Dockerfile.build . + docker run -td --name mgmt-build purpleidea/mgmt-build + docker cp mgmt-build:/root/gopath/src/github.com/purpleidea/mgmt/mgmt . + docker build -t purpleidea/mgmt -f docker/Dockerfile.static . + docker rm mgmt-build || true + +clean_container: + docker rmi purpleidea/mgmt-build + docker rmi purpleidea/mgmt + # vim: ts=8 diff --git a/docker/Dockerfile.build b/docker/Dockerfile.build new file mode 100644 index 00000000..73ef337a --- /dev/null +++ b/docker/Dockerfile.build @@ -0,0 +1,12 @@ +FROM centos:7 +MAINTAINER Karim Boumedhel + +ENV GOPATH=/root/gopath +ENV PATH=/opt/rh/rh-ruby22/root/usr/bin:/root/gopath/bin:/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/go/bin +ENV LD_LIBRARY_PATH=/opt/rh/rh-ruby22/root/usr/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} +ENV PKG_CONFIG_PATH=/opt/rh/rh-ruby22/root/usr/lib64/pkgconfig${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}} + +RUN yum -y install epel-release wget unzip git make which centos-release-scl gcc && sed -i "s/enabled=0/enabled=1/" /etc/yum.repos.d/epel-testing.repo && yum -y install rh-ruby22 && wget -O /opt/go1.9.1.linux-amd64.tar.gz https://storage.googleapis.com/golang/go1.9.1.linux-amd64.tar.gz && tar -C /usr/local -xzf /opt/go1.9.1.linux-amd64.tar.gz +RUN mkdir -p $GOPATH/src/github.com/purpleidea && cd $GOPATH/src/github.com/purpleidea && git clone --recursive https://github.com/purpleidea/mgmt +RUN go get -u gopkg.in/alecthomas/gometalinter.v1 && cd $GOPATH/src/github.com/purpleidea/mgmt && make deps && make build +CMD ["/bin/bash"] diff --git a/docker/Dockerfile.static b/docker/Dockerfile.static new file mode 100644 index 00000000..7db84833 --- /dev/null +++ b/docker/Dockerfile.static @@ -0,0 +1,9 @@ +FROM centos:7 +MAINTAINER Karim Boumedhel + +RUN yum -y install augeas-libs libvirt-libs && yum clean all +ADD mgmt /usr/bin +RUN chmod 700 /usr/bin/mgmt + +ENTRYPOINT ["/usr/bin/mgmt"] +CMD ["-h"] diff --git a/docs/quick-start-guide.md b/docs/quick-start-guide.md index be822ef0..86c73f07 100644 --- a/docs/quick-start-guide.md +++ b/docs/quick-start-guide.md @@ -76,6 +76,11 @@ If you would like to avoid doing the above steps manually, we have prepared a project directory, run a `vagrant up`, and then a `vagrant status`. From there, you can `vagrant ssh` into the `mgmt` machine. The MOTD will explain the rest. +## Using Docker + +Alternatively, you can check [docker-guide](docs/docker-guide.md) in order to +develop or deploy using docker + ## Information about dependencies Software projects have a few different kinds of dependencies. There are _build_