Hi guys,
Since there was no objections raised to my earlier email about Docker
Image, I have gone ahead and created one. I have uploaded it currently in
my repo. https://hub.docker.com/r/surajacharya/avro-build-test/tags/.
The change needed for the build.sh script is as follows :
sacharya@sacharya-MBP:~/repos/avro$ git diff
diff --git a/build.sh b/build.sh
index 42df09a..fb28889 100755
--- a/build.sh
+++ b/build.sh
@@ -195,7 +195,6 @@ do
;;
docker)
- docker build -t avro-build share/docker
if [ "$(uname -s)" == "Linux" ]; then
USER_NAME=${SUDO_USER:=$USER}
USER_ID=$(id -u $USER_NAME)
@@ -206,7 +205,7 @@ do
GROUP_ID=50
fi
docker build -t avro-build-${USER_NAME} - <<UserSpecificDocker
-FROM avro-build
+FROM docker.io/surajacharya/avro-build-test
RUN groupadd -g ${GROUP_ID} ${USER_NAME} || true
RUN useradd -g ${GROUP_ID} -u ${USER_ID} -k /root -m ${USER_NAME} || true
ENV HOME /home/${USER_NAME}
This will prevent make the world everytime a new docker image is to be
created.
We can always update any package we wish and push a new image. This will
help in making the docker images faster.
If there are no objections, then we will need to a new repo, the PMC can
create it, load the image there.
Please let me know if you have any questions.
-Suraj Acharya
On Tue, Nov 1, 2016 at 4:35 PM, suraj acharya <[email protected]> wrote:
> Hi,
> I wanted to discuss whether it will be a good idea to create a base docker
> image and then check that out every time we wish to use docker.
> The main reason behind the request is that the initial startup time to
> build a docker time will go down significantly ( from the present 20 ish
> minutes). This will help when we have a pre-commit bot since the startup
> time will reduce significantly since the overall startup time is low.
> I know the docker machine is cached for a period of time, however, our
> docker image itself doesn't change a lot, but building a new one takes a
> large amount of time due to the diverse nature of the project.
>
> I suggest that we use the base debian image we use, install the
> dependencies we install at every run https://github.com/apache/
> avro/blob/master/share/docker/Dockerfile#L28-L38.
> We push this to a central repository, something like docker hub. We don't
> have any source code present so we don't need to worry about having
> unreleased code in the open. We can still have the apt-update and apt-get
> update <packages> step present which will allow us to update to the latest
> version of any package we might have missed.
> On a six month/year routine we can update the docker image if there are a
> lot of updates on the image.
>
> We will need some committer who can actually push the final image to the
> docker-hub.
>
> I can help in creating the image and providing the same.
>
> Your comments are appreciated.
>
>
> -Suraj Acharya
>