Hi,
Has anybody tried to create a docker with the environment?
My problem comes when I install minerl
, I get the following error:
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x000000076a82d000, 454598656, 0) failed; error='Cannot allocate memory' (errno=12)
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 454598656 bytes for committing reserved memory.
# An error report file with more information is saved as:
# /tmp/pip-install-bpk6xbfz/minerl/minerl/env/Malmo/Minecraft/hs_err_pid44.log
:decompileMc FAILED
Apparently the problem comes as a result that docker and java are not good friends, as you can read here: https://developers.redhat.com/blog/2017/03/14/java-inside-docker/
I’ve tried to implement the proposed solution without success. Any idea?
The Dockerfile I am using follows…
Any help would be appreciated! Thanks.
FROM nvidia/cuda:10.0-base-ubuntu18.04
# Install some basic utilities
RUN apt-get update && apt-get install -y \
curl \
ca-certificates \
sudo \
git \
bzip2 \
libx11-6 \
tmux \
htop \
&& rm -rf /var/lib/apt/lists/*
# Create a working directory
RUN mkdir /code
WORKDIR /code
# Create a non-root user and switch to it
RUN adduser --disabled-password --gecos '' --shell /bin/bash user \
&& chown -R user:user /code
RUN echo "user ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/90-user
USER user
# All users can use /home/user as their home directory
ENV HOME=/home/user
RUN chmod 777 /home/user
# Install Miniconda
RUN curl -so ~/miniconda.sh https://repo.continuum.io/miniconda/Miniconda3-4.6.14-Linux-x86_64.sh \
&& chmod +x ~/miniconda.sh \
&& ~/miniconda.sh -b -p ~/miniconda \
&& rm ~/miniconda.sh
ENV PATH=/home/user/miniconda/bin:$PATH
ENV CONDA_AUTO_UPDATE_CONDA=false
# Create a Python 3.7 environment
RUN /home/user/miniconda/bin/conda install conda-build \
&& /home/user/miniconda/bin/conda create -y --name py37 python=3.7.3 \
&& /home/user/miniconda/bin/conda clean -ya
ENV CONDA_DEFAULT_ENV=py37
ENV CONDA_PREFIX=/home/user/miniconda/envs/$CONDA_DEFAULT_ENV
ENV PATH=$CONDA_PREFIX/bin:$PATH
# CUDA 10.0-specific steps
RUN conda install -y -c pytorch \
cuda100=1.0 \
magma-cuda100=2.4.0 \
"pytorch=1.1.0=py3.7_cuda10.0.130_cudnn7.5.1_0" \
torchvision=0.3.0 \
&& conda clean -ya
# Install jupyter notebook
RUN pip install jupyter
# Install Minecraft needed libraries
RUN sudo apt-get update
RUN sudo apt-get install openjdk-8-jdk -y
CMD java -XX:+PrintFlagsFinal -Xmx900m -jar java-container.jar
RUN pip install --upgrade minerl
# Set the default command to bash
CMD ["/bin/bash"]