You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Docker Image

Centos7
FROM centos:centos7

ARG USER_ID=1000
ARG GROUP_ID=1000
ARG ALMA_DIR=<PATH_TO_ALMA_DIR>
ARG REPO_DIR=<PATH_TO_REPOS_DIR>

#General packages
RUN yum -y install vim redhat-lsb-core sudo

#Install Git and Git LFS
RUN yum -y install epel-release
RUN yum -y install https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
RUN yum -y install git
RUN curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.rpm.sh | bash
RUN yum -y install git-lfs

#Install Java 11
RUN yum -y install java-11-openjdk-devel

#Prepare for Java
RUN mkdir /usr/java
RUN ln -s /usr/lib/jvm/java-openjdk /usr/java/default

#Install ACS required packages
RUN yum -y install ksh gcc libX11-devel perl readline-devel bzip2 bzip2-devel openssl-devel openldap-devel libxml2-devel freetype-devel libxslt-devel sqlite-devel expat-devel

#Prepare ALMASW directory
RUN ln -s ${ALMA_DIR} /alma
RUN ln -s ${REPO_DIR} /Repos

#User configuration
RUN groupadd -r -g ${GROUP_ID} almamgr
RUN useradd -r -m -u ${USER_ID} -g almamgr almamgr
RUN groupadd sudo
RUN usermod -aG sudo almamgr

USER almamgr

Docker Compose

docker-compose.yml
version: "3.4"
services:
   centos7:
      args:
         USER_ID:${USER_ID}
         GROUP_ID:${GROUP_ID}
         CONTAINER_OS:centos7
      image: acs-${CONTAINER_OS}
      working_dir: /working
      volumes:
         - ${REPO_DIR}:/Repos
         - $(ALMA_DIR}/${CONTAINER_OS}:/alma
         - /external:/external
         - ./centos7/working:/working:z
         - /tmp/.X11-unix:/tmp/.X11-unix:rw
      environment:
         - DISPLAY=${DISPLAY}

Docker Compose .env

.env example
USER_ID=1000
GROUP_ID=1000
ALMA_DIR=/external/docker
REPO_DIR=/external/Repos
  • USER_ID: Id of local user executing docker instance
  • GROUP_ID: Group id from local user executing docker instance
  • ALMA_DIR: Path to <CONTAINER_OS>/alma, for instance in my examples is '/external/docker/'
    • Inside this directory there's a set of directories for each OS, each having it's own alma directory. For instance 'centos7/alma'
  • No labels