I’m building a Jupyter Notebook with the LSST software added, and my Dockerfile reads:
FROM jupyter/minimal-notebook:latest
USER root
RUN apt-get update && \
    apt-get upgrade -yq --no-install-recommends \
    wget \
    bzip2 \
    ca-certificates \
    sudo \
    locales \
    fonts-liberation \
    bison \
    cmake \
    curl \
    flex \
    g++ \
    gettext \
    git \
    less \
    libbz2-dev \
    libcurl4-openssl-dev \
    libfontconfig1 \
    libglib2.0-dev \
    libncurses5-dev \
    libreadline6-dev \
    libx11-dev \
    libxrender1 \
    libxt-dev \
    m4 \
    make \
    default-jre \
    perl-modules \
    rsync \
    zlib1g-dev \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*
RUN mkdir /opt/lsst && chown $NB_USER /opt/lsst
USER $NB_USER
    
# python3 updates and additional files
RUN conda install --quiet --yes \
    'conda-build' \
    'pandas=0.21*' \
    'matplotlib=2.1.0' \
    'scipy=1.0.0' \
    'seaborn=0.8.1' \
    'scikit-learn=0.19.1' \
    'scikit-image=0.13.0' \
    'sympy=1.1.1' \
    'cython=0.27.3' \
    'cloudpickle=0.5.2' \
    'numba=0.35.0' \
    'numpy=1.13.3' \
    'ffmpeg=3.4' \
    'bokeh=0.12.10' \
    'sqlalchemy=1.1.13' \
    'hdf5=1.10.1' \
    'h5py=2.7.0' \
    'beautifulsoup4=4.6.0' \
    'quantecon=0.3.7' \
    'mpld3=0.3' \
    'numexpr=2.6.4' \
    'pycosat=0.6.3' \
    'statsmodels=0.8.0' \
    'nltk=3.2.5' \
    'spectral=0.18' \
    'folium=0.5.0' \
    'tensorflow=1.3.0' \
    'ipywidgets=7.1' \
    'xlrd=1.1.0' && \
    conda clean -tipsy
# For some reason, I need to install these AFTER installing the stuff above
RUN conda install --quiet --yes \
    'vega' \
    'gdal=2.1.4' \
    'geopandas=0.3.0' \
    'basemap=1.1.0' \
    'basemap-data-hires=1.1.0' \
    'netcdf4=1.3.1' \
    'windrose=1.6.3' \
    'rasterstats=0.12.0' \
    'jupyterhub=0.7.2' \
&& conda remove --quiet --yes --force qt pyqt && \
conda clean -tipsy
# Now install
WORKDIR /opt/lsst
# Configure environment
ENV LC_ALL=en_US.UTF-8 \
    LANG=en_US.UTF-8 \
    LANGUAGE=en_US.UTF-8
RUN curl -OL https://raw.githubusercontent.com/lsst/lsst/master/scripts/newinstall.sh && \
    chmod +x newinstall.sh && \
    bash ./newinstall.sh -b -P /opt/conda/bin/python && \
    bash -c "source /opt/lsst/loadLSST.bash ; eups distrib install lsst_distrib; eups distrib install sims_maf -t sims"
     
WORKDIR /home/$NB_USER
(The Jupyter notebook is Ubuntu 16:04)
The conda install definitely adds ‘pycosat’:
 pycosat-0.6.3              |           py36_0         201 KB  conda-forge
… which is an upgrade:
pycosat:                       0.6.3-py36h0a5515d_0          defaults    --> 0.6.3-py36_0     conda-forge
… and the old version is removed:
removing pycosat-0.6.3-py36h0a5515d_0
HOWEVER!
When it comes to the LSST install, it wants to reinstall pycosat-0.6.3-py36h0a5515d_0… and then barfs:
UnsatisfiableError: The following specifications were found to be in conflict:
  - conda -> pycosat[version='>=0.6.3']
  - pycosat==0.6.2=py36_0
Use "conda info <package>" to see the dependencies for each package.
If I drop back to the 14.0 version… I’m fine.
Any hints?