天天看點

docker容器共享主控端環境,如jdk

第一步:首先主控端中需要安裝配置jdk。

  1. 列出所有已經被安裝的,名字中包含jdk字元串的RPM包。

    rpm -qa | grep java

    docker容器共享主要端環境,如jdk
  2. 删除舊版本的jdk

    rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.65-3.b17.el7.x86_64

    rpm -e --nodeps java-1.7.0-openjdk-1.7.0.91-2.6.2.3.el7.x86_64

    rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.91-2.6.2.3.el7.x86_64

    rpm -e --nodeps java-1.8.0-openjdk- 1.8.0.65-3.b17.el7.x86_64

  3. 下載下傳jdk1.8.172
  4. 解開gz檔案

    tar -zxvf jdk-8u172-linux-x64.tar.gz -C /usr

  5. 設定環境變量

    cd /

    vi ~/.bashrc

    #set oracle jdk environment

    export JAVA_HOME=/usr/jdk-8u172-linux-x64

    export JRE_HOME= J A V A H O M E / j r e e x p o r t C L A S S P A T H = . : {JAVA_HOME}/jre export CLASSPATH=.: JAVAH​OME/jreexportCLASSPATH=.:{JAVA_HOME}/lib: J R E H O M E / l i b e x p o r t P A T H = {JRE_HOME}/lib export PATH= JREH​OME/libexportPATH={JAVA_HOME}/bin:$PATH

  6. 使得環境變量馬上生效

    source ~/.bashrc

第二步:修改dockerfile檔案,共享主控端jdk。

dockerfile檔案如下:

# 基于哪個鏡像
FROM centos:7
#配置中文
ENV LANG C.UTF-8
WORKDIR bhapp
# 拷貝檔案到容器
ADD GwMicroService-1.1.0.jar app.jar
ADD bootstrap.yml bootstrap.yml
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
  && echo 'Asia/Shanghai' >/etc/timezone \ && bash -c 'touch app.jar'

ENV JAVA_HOME="/usr/jdk1.8.0_172"
ENV PATH="${PATH}:${JAVA_HOME}/bin:${JAVA_HOME}/sbin"
# 開放8081端口
EXPOSE 8081
# 配置容器啟動後執行的指令
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-Xms125m","-Xmx125m","-jar","app.jar"]
           

第三步,由于以上鏡像是沒有jdk環境的,是以在生成容器的時候一定要把主控端jdk目錄挂載到容器中。我這裡使用的時dockercompose,docker-compose.yml檔案如下:

version: '3'
services:
   gwmicroservice:
     build: ./網關微服務
     hostname: gwmicroservice
     ports:
        - "8081:8081"
     external_links:
        - "rmmicroservice"
     volumes:
        - /usr/jdk1.8.0_172:/usr/jdk1.8.0_172
     tty: true
     network_mode: bridge
     restart: always
           

無意中發現了一個巨牛的人工智能教程,忍不住分享一下給大家。教程不僅是零基礎,通俗易懂,而且非常風趣幽默,像看小說一樣!覺得太牛了,是以分享給大家。點這裡可以跳轉到教程。

繼續閱讀