zoukankan      html  css  js  c++  java
  • Docker

    1. 概述

      1. 做个简单的可用镜像
    2. 背景

      1. 之前的镜像, 都是 命令教程 类的
      2. 这次我想构建一个 可以用的 简单镜像镜像

    1. 环境

    1. os

      1. centos7
    2. docker

      1. 18.09
    3. docker image

      1. java
        1. openjdk
          1. docker pull openjdk:8u232-jre-stretch
    4. spring boot

      1. 2.2.1
    5. jar 包

      1. 这个自己随便打一个就行了
        1. 一般的 web 服务就行

    2. 准备

    1. 概述

      1. 制作镜像前的准别
    2. 基础镜像

      1. 需要准备好基础镜像
    3. context

      1. 创建好 上下文目录
      2. 将 jar 包放进去
        1. 我的 jar 包, 叫做 ademo-0.0.1-SNAPSHOT.jar

    3. 编写 Dockerfile

    1. 概述

      1. 编写 Dockerfile
    2. 内容

      # 基础镜像
      FROM openjdk:8u232-jre-stretch
      # 将 context 的 jar 包, 拷贝到 容器的工作目录下, jar 包名称不变
      COPY ademo-0.0.1-SNAPSHOT.jar ademo-0.0.1-SNAPSHOT.jar
      # spring boot 的 web 应用, 默认占用 8080 端口, 所以把它 暴露出去 即可
      EXPOSE 8080
      # 入口命令, 启动服务器
      ENTRYPOINT ["java", "-jar", "ademo-0.0.1-SNAPSHOT.jar"]
      

    4. 构建镜像

    1. 概述

      1. 构建 docker 镜像
    2. 命令

      > docker image build -t repo/jardemo:0.0.1 .
      
    3. 结果

      1. 构建成功
        1. 可以通过 docker image ls 命令查看

    5. 启动容器

    1. 概述

      1. 启动容器
    2. 命令

      # --name 指定名字
      # -P 暴露端口
      # -d 后台运行
      # 不指定命令和参数, 因为 entrypoint 的已经足够
      > docker run --name jardemo -P -d repo/jardemo:0.0.1
      
    3. 结果

      1. 启动成功
        1. 命令 docker container ls 查看
          1. 顺便查看下, 8080映射到了 那个端口
    4. 验证

      1. 浏览器验证
        1. 验证你可以访问那个 url, 就可以了

    6. 其他

    1. 查看日志

      > docker container logs -f jardemo
      
    2. top

      > docker container top jardemo
      

    ps

    1. ref

      1. 暂时没有 ref 吧
    2. docker 镜像: java 环境

      1. java 镜像
        1. 疑问

          1. 到底该用 什么版本的镜像 呢
        2. 来源

          1. docker hub
            1. oracle
            2. openjdk
              1. 下面还有 jdk 和 jre ...
            3. 甚至还有 微软, ibm...
          2. 自己构造
            1. 从头开始构造...
        3. 感觉需要真的需要想明白...

    3. docker 镜像: 安全

      1. 问题1: 安全如何保证
        1. 现在的登录方式, 基本没有密码
          1. 能否指定密码什么的
          2. 如果真的指定了, 会影响 容器间的交互吗?
    尽量尝试解释清楚; 自己校对能力有限, 如果有错误欢迎指出
  • 相关阅读:
    singleTon 模式
    最近的工作经验
    sql server里的快捷键
    Bridge 模式
    [转]在.NET客户端程序中使用多线程
    wse
    关于高频查询界面
    判断字段值已经存在
    获取当前供应商的联系人信息
    获取系统常量
  • 原文地址:https://www.cnblogs.com/xy14/p/11945401.html
Copyright © 2011-2022 走看看