# Should one be able to specify which base image tags are used to build pyspark-notebook containers?

**URL:** <https://discourse.jupyter.org/t/should-one-be-able-to-specify-which-base-image-tags-are-used-to-build-pyspark-notebook-containers/1906>\
**Category:** General\
**Created:** [August 14, 2019, 3:28pm UTC](https://discourse.jupyter.org/t/should-one-be-able-to-specify-which-base-image-tags-are-used-to-build-pyspark-notebook-containers/1906 "2019-08-14T15:28:29Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![blomadam](https://avatars.discourse-cdn.com/v4/letter/b/c6cbf5/32.png) [@blomadam](https://discourse.jupyter.org/u/blomadam)\
**Post date:** [August 14, 2019, 3:28pm UTC](https://discourse.jupyter.org/t/should-one-be-able-to-specify-which-base-image-tags-are-used-to-build-pyspark-notebook-containers/1906/1 "2019-08-14T15:28:29Z")

</div>

I am hoping to build a stable data science platform to test tools, leveraging the jupyter docker-stacks. I am currently tweaking the jupyter/pyspark-notebook:58169ec3cfd3 to suit my needs. Unfortunately, it seems that the underlying scipy-notebook that is the base image for that Dockerfile has been updated, causing conflicts between some of my packages (pandas 0.25 seems to be the culprit) in recent builds.

I find myself wishing that the pyspark-notebook specified which scipy-notebook to pull from so that I could get a stable resulting container. Has anyone else daydreamed about this?

One possible con: it would require all images to be revisioned in lockstep to prevent inaccessible branches on earlier base images. I think the stability benefits are worth the trade-off though.

---

<div class="post-metadata">

**Author:** ![parente](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/parente/32/973_2.png) [@parente](https://discourse.jupyter.org/u/parente)\
**Post date:** [August 17, 2019, 6:33pm UTC](https://discourse.jupyter.org/t/should-one-be-able-to-specify-which-base-image-tags-are-used-to-build-pyspark-notebook-containers/1906/2 "2019-08-17T18:33:18Z")

</div>

`BASE_CONTAINER` was added as a build time docker argument recently. You can specify a fully qualified Docker image name as the base for any of your builds.

> <https://github.com/jupyter/docker-stacks/blob/ef1e508e7a090b9bae322af89000798aef6977eb/pyspark-notebook/Dockerfile#L3-L4>

The docker-stacks already build all of the images in lock step, so when `jupyter/pyspark-notebook:58169ec3cfd3` builds on Docker Hub, the default base of `jupyter/scipy-notebook:latest` is just another name for `jupyter/scipy-notebook:58169ec3cfd3`.
