Information
We are currently investigating an issue with the editor of some pages. Please save your work and avoid to create new pages until this banner is gone.
FROM centos:centos7.7.1908 ARG USER = almamgr ARG GROUP = almamgr ARG USER_ID ARG GROUP_ID #General packages RUN yum -y install vim redhat-lsb-core sudo dbus-x11 #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 gcc-c++ libX11-devel libffi-devel perl readline-devel bzip2 bzip2-devel openssl-devel openldap-devel libxml2-devel freetype-devel libxslt-devel sqlite-devel expat-devel bison flex autoconf unzip dos2unix #ARCHIVE RUN yum -y install libtool libdb-devel #ICD RUN yum -y install cmake blas-devel cfitsio-devel wcslib-devel lapack-devel #CONTROL RUN yum -y install binutils-devel libmemcached-devel #CORRCommon RUN yum -y install kernel kernel-devel procmail #TELCAL RUN yum -y install motif-devel texlive #RTI DDS RUN cd / && curl http://acsuser:wfhpp00fs@webdav.sco.alma.cl/restricted/propietary/RTI-RHEL6-x86_64.tar.bz2 | tar -xj #Debugging Tools RUN yum -y install gdb net-tools #User configuration RUN groupadd -r -g ${GROUP_ID} ${GROUP} RUN useradd -r -m -u ${USER_ID} -g ${GROUP} ${USER} RUN groupadd sudo RUN usermod -aG sudo ${USER} RUN echo new2me |passwd ${USER} --stdin RUN echo "%sudo ALL=(ALL) ALL" >> /etc/sudoers RUN echo "%sudo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers USER ${USER}
version: "3.4" x-args: &args USER_ID: ${USER_ID} GROUP_ID: ${GROUP_ID} x-env: &env - DISPLAY=${DISPLAY} x-volumes: &volumes - ${REPO_DIR}:/Repos - ${ALMA_DIR}/${CONTAINER_OS}:/alma:z - ${HOME_DIR}/${CONTAINER_OS}:/home/almamgr:z - /tmp/.X11-unix:/tmp/.X11-unix:rwz x-acs-images: &common build: dockerfile: Dockerfile context: ./${CONTAINER_OS} args: *args security_opt: - seccomp:unconfined image: acs-${CONTAINER_OS} environment: *env volumes: *volumes working_dir: /home/almamgr networks: - acs-docker services: centos6: <<: *common centos7: <<: *common centos8: <<: *common networks: acs-docker: driver: bridge
An example of the .env file:
USER_ID=1000 GROUP_ID=1000 ALMA_DIR=/external/docker/alma HOME_DIR=/external/docker/home REPO_DIR=/external/Repos CONTAINER_OS=centos7
images:=$(wildcard centos*) build: $(images) .PHONY: $(images) $(images): @CONTAINER_OS=$@ docker-compose build $@ $(addprefix up-,$(images)): @CONTAINER_OS=$(subst up-,,$@) docker-compose up $(subst up-,,$@) $(addprefix down-,$(images)): @CONTAINER_OS=$(subst down-,,$@) docker-compose down
make centos7
. ├── centos6 │ ├── Dockerfile │ └── working │ ├── acs.env │ ├── buildExtProds.sh │ └── working │ ├── acs.env │ ├── buildACS.sh │ ├── buildALMASW.sh │ ├── buildCommon.sh │ └── buildExtProds.sh ├── centos7 │ ├── Dockerfile │ └── working │ ├── acs.env │ ├── buildACS.sh │ ├── buildALMASW.sh │ ├── buildCommon.sh │ └── buildExtProds.sh ├── centos8 │ ├── Dockerfile │ └── working │ └── working │ ├── acs.env │ ├── buildACS.sh │ ├── buildALMASW.sh │ ├── buildCommon.sh │ └── buildExtProds.sh ├── docker-compose.yml ├── .env └── Makefile
#Executing centos7 docker-compose run centos7 bash #Executing centos6 requires to define the CONTAINER_OS variable CONTAINER_OS=centos6 docker-compose run centos7 bash