Найдите и измените значение JAVA_HOME в изображении докера centos / wildfly - PullRequest
1 голос
/ 28 мая 2019

Я только начинаю с докера, так что это может быть концептуальной ошибкой -

Я загрузил образ centos / wildfly из Docker Hub и хотел изменить версию JDK этого сервера.
Однако я не смог найти значение JAVA_HOME в конфигурационных файлах wildfly, и в usr
нет ни одной папки java Для этой установки и образа, откуда он тянет путь JDK? Есть ли способ получить к нему доступ и, надеюсь, изменить его?

1 Ответ

1 голос
/ 28 мая 2019

Если заглянуть в официальный репозиторий centos / wildly, вы найдете что-то вроде

RUN yum -y install tar java-1.7.0-openjdk-devel

wildfly / centos7 / Dockerfile

Так что вам не нужно изменять существующий образ, просто создайте свой собственный образ, обновите версию JDK в Dockerfile, соберите ее и запустите контейнер из своего собственного образа.

Создайте свой собственный Dockerfile и выполните команду ниже.

docker build --tag=centos/wildfly-admin-jdk-1.8 .

docker run -it -p 9990:9990 centos/wildfly-admin-jdk-1.8

Итак, вот Dockerfile с JDK-1.8.0

# Use latest Fedora image as the base
FROM centos:latest
MAINTAINER http://www.centos.org

LABEL Vendor="CentOS"
LABEL License=GPLv2
LABEL Version=8.2.0.Final


# Update base image
RUN yum -y update && yum clean all

# xmlstarlet is useful when modifying attributes/elements
# saxon can be used to execute configuration transformation using XSLT
# augeas is a great tool to edit any configuration files (XML too)
# bsdtar can be used to unpack zip files using pipes
RUN yum -y install tar java-1.8.0-openjdk-devel saxon \ 
augeas bsdtar shadow-utils && yum clean all

# Set the WILDFLY_VERSION env variable
ENV WILDFLY_VERSION 8.2.0.Final

# Create the wildfly user and group
RUN groupadd -r wildfly -g 433 && useradd -u 431 -r -g wildfly -d /opt/wildfly -s /sbin/nologin -c "WildFly user" wildfly

# Create directory to extract tar file to
RUN mkdir /opt/wildfly-$WILDFLY_VERSION

# Add the WildFly distribution to /opt, and make wildfly the owner of the extracted tar content
RUN cd /opt && curl http://download.jboss.org/wildfly/$WILDFLY_VERSION/wildfly-$WILDFLY_VERSION.tar.gz | tar zx && chown -R wildfly:wildfly /opt/wildfly-$WILDFLY_VERSION

# Make sure the distribution is available from a well-known place
RUN ln -s /opt/wildfly-$WILDFLY_VERSION /opt/wildfly && chown -R wildfly:wildfly /opt/wildfly

# Set the JBOSS_HOME env variable
ENV JBOSS_HOME /opt/wildfly

# Expose the ports we're interested in
EXPOSE 8080 9990

# Run everything below as the wildfly user
USER wildfly

# Set the default command to run on boot
# This will boot WildFly in the standalone mode and bind to all interface
CMD ["/opt/wildfly/bin/standalone.sh", "-c", "standalone-full.xml", "-b", "0.0.0.0", "-bmanagement", "0.0.0.0"]
...