博客
关于我
centos下docker安装以及springboot远程发布docker
阅读量:286 次
发布时间:2019-03-01

本文共 2358 字,大约阅读时间需要 7 分钟。

CentOS7下JDK8安装及Spring Boot远程发布到Docker

1. 安装JDK1.8

在CentOS7系统中安装JDK1.8需要进行以下操作:

  • 下载JDK安装包

    从Oracle官网下载jdk-8u291-linux-i586.tar.gz文件。

  • 移除系统自带的Java软件包

    使用以下命令卸载系统自带的Java包:

    java -version && rpm -qa | grep jav && yum -y remove `java -version | head -n1`
  • 安装JDK

    创建Java安装目录并解压安装包:

    mkdir /usr/java && cd /usr/java && tar -zxvf jdk-8u291-linux-i586.tar.gz
  • 配置环境变量

    打开/etc/profile文件,追加以下内容:

    export JAVA_HOME=/usr/java/jdk1.8.0_291export PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    使环境变量生效:

    source /etc/profile
  • 验证JDK安装

    输入命令查看Java版本:

    java -version

  • 2. Docker安装及远程访问配置

    在CentOS7系统中安装并配置Docker服务:

  • 检查内核版本

    确保系统内核版本为64位且不低于3.10:

    uname -r

    如果版本低于3.10,需先升级内核。

  • 更新YUM包

    升级系统软件包:

    yum update -y
  • 配置阿里云YUM镜像源

    添加阿里云的YUM镜像仓库:

    cd /etc/yum.repos.d/mv CentOS-Base.repo CentOS-Base.repo.bakmv Centos-7.repo CentOS-Base.repo

    更新YUM缓存并同步镜像:

    yum clean all && yum makecache && yum update
  • 安装Docker

    安装Docker CE:

    yum install -y docker-ce
  • 启动Docker服务

    启动并查看服务状态:

    systemctl start dockerdocker info

    设置开机启动:

    systemctl enable docker
  • 配置Docker远程访问

    修改Docker服务文件以支持远程访问:

    vim /usr/lib/systemd/system/docker.service

    ExecStart行后追加以下参数:

    -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

    重启Docker服务:

    service docker restart

    如果提示需要重新加载配置,执行:

    systemctl daemon-reload
  • 远程访问测试

    测试Docker远程服务:

    curl http://192.168.2.200:2375/version

  • 3. 使用Maven构建Docker镜像并发布

    (1)创建Dockerfile

    在项目根目录下的src/main/resources/docker文件夹创建Dockerfile文件,内容如下:

    # 基于JDK8镜像FROM java:8# 挂载本地文件夹VOLUME /tmp# 拷贝JAR文件ADD swaggertest-0.0.1-SNAPSHOT.jar swaggertest.jar# 启动Java应用RUN bash -c 'touch /swaggertest.jar'# 容器启动命令ENTRYPOINT ["java", "-Djava.security.eGD=file:/dev/./urandom", "-jar", "/swaggertest.jar"]EXPOSE 8080

    (2)配置Maven插件

    在项目的pom.xml文件中添加以下插件配置:

    com.spotify
    docker-maven-plugin
    1.2.2
    swaggertest-service
    src/main/resources/docker
    http://192.168.2.200:2375
    /
    ${project.build.directory}
    ${project.build.finalName}.jar

    (3)构建并上传镜像

    在项目根目录执行以下命令:

    mvn clean package docker:build -DskipTests

    镜像上传完成后,查看已推送镜像:

    docker images

    (4)运行容器

    启动镜像并映射端口:

    docker run -p 8080:8080 swaggertest-service:latest

    转载地址:http://bdwl.baihongyu.com/

    你可能感兴趣的文章
    NN&DL4.7 Parameters vs Hyperparameters
    查看>>
    NN&DL4.8 What does this have to do with the brain?
    查看>>
    nnU-Net 终极指南
    查看>>
    No 'Access-Control-Allow-Origin' header is present on the requested resource.
    查看>>
    NO 157 去掉禅道访问地址中的zentao
    查看>>
    no available service ‘default‘ found, please make sure registry config corre seata
    查看>>
    No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
    查看>>
    no connection could be made because the target machine actively refused it.问题解决
    查看>>
    No Datastore Session bound to thread, and configuration does not allow creation of non-transactional
    查看>>
    No fallbackFactory instance of type class com.ruoyi---SpringCloud Alibaba_若依微服务框架改造---工作笔记005
    查看>>
    No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalanc
    查看>>
    No mapping found for HTTP request with URI [/...] in DispatcherServlet with name ...的解决方法
    查看>>
    No mapping found for HTTP request with URI [/logout.do] in DispatcherServlet with name 'springmvc'
    查看>>
    No module named 'crispy_forms'等使用pycharm开发
    查看>>
    No module named cv2
    查看>>
    No module named tensorboard.main在安装tensorboardX的时候遇到的问题
    查看>>
    No module named ‘MySQLdb‘错误解决No module named ‘MySQLdb‘错误解决
    查看>>
    No new migrations found. Your system is up-to-date.
    查看>>
    No qualifying bean of type XXX found for dependency XXX.
    查看>>
    No qualifying bean of type ‘com.netflix.discovery.AbstractDiscoveryClientOptionalArgs<?>‘ available
    查看>>