当前位置: 首页 > article >正文

Docker深度解析:容器与容器局域网

  1.  DockerFile 解析:
    1. DockerFile 描述出镜像文件需要的一些依赖配置和环境变量
    2. 执行命令 docker build,将我们的 dockerfile 文件打包成一个镜像文件
    3. 直接使用我们的容器运行到该镜像文件
  2. CentOS 镜像:
    1. 运行镜像:
      docker run -it centos
    2. CentOS 文档:
  3. DockerFile 编写规范:
    1. #:表示注释
    2. 指令:必须大写,后面至少需要带一个参数
    3. 执行顺序:从上到下,顺序执行
  4. DockerFile 指令:
    1. FROM:指定父镜像
      1. 指定基础镜像
      2. 必须为第一个命令
    2. MAINTAINER:维护者
    3. RUN:容器创建时执行的命令
    4. ADD:将本地文件添加到容器中
      1. tar 类型文件会自动解压(网络压缩资源不会被解压)
      2. 可以访问网络资源,类似 wget
    5. COPY:功能类似 ADD,但是不会自动解压文件,也不能访问网络资源
    6. CMD:构建容器后调用,也就是在容器启动时才能进入调用:.sh 执行文件
    7. ENV:设置环境变量
    8. VOLUME:用于指定持久化目录
    9. WORKDIR:设置进入容器时的路径
  5. DockerFile 案例:
    1. 注意:centos 7 已经不维护,这里看过程即可
    2. 构建自己的 CentOS 镜像
      #继承的父镜像
      FROM   hub.atomgit.com/amd64/centos:centos7
      
      #维护者
      MAINTAINER zhangjinxiu
      
      #设置环境变量
      ENV  MYPATH /usr
      
      #设置进入容器时的路径
      WORKDIR $MYPATH
      
      #构建镜像执行的命令 --> 这里下载的时 vim 命令
      RUN yum -y install vim
      
      #指定外界交互的端口
      EXPOSE 80
      
      #启动容器的路径
      CMD /bin/bash
    3. 将 dockerfile 文件打包成镜像文件
      docker build -f DockerFile -t mycs:1  .
      #注意别忘了最后的 . 
    4. 运行该镜像:
      docker run -it mycs:1
  6. 部署 SpringBoot 项目:
    1. 将 SpringBoot 项目打包
    2. 制作 DockerFile 文件
      #继承父镜像
      FROM kdvolder/jdk8
      
      #作者
      MAINTAINER lijiaxu
      
      #指定临时文件
      VOLUME /tmp
      
      #将 jar 包添加到容器中并更改名称为 springboot
      ADD springboot-0.0.1-SNAPSHOT.jar  springboot.jar
      
      #运行 jar 包
      RUN bash -c 'touch /springboot.jar'
      
      #容器启动时运行
        
      
      #暴露端口
      EXPOSE 8080
      
    3. 打包 DockerFile 文件成镜像文件
      docker build -f DockerFile -t springboot:1 .
    4. 启动容器,访问端口:
      docker run -p 8080:8080 springboot:1

 


http://www.kler.cn/a/534305.html

相关文章:

  • 树莓派卷积神经网络实战车牌检测与识别
  • 《Kettle保姆级教学-界面介绍》
  • [25] cuda 应用之 nppi 实现图像色彩调整
  • matlab小波交叉功率谱分析源代码
  • 21.2.1 基本操作
  • UE求职Demo开发日志#21 背包-仓库-装备栏移动物品
  • 5-Scene层级关系
  • 机器学习--python基础库之Matplotlib (2) 简单易懂!!!
  • 【centOS】安装docker环境,替换国内镜像
  • 分布式光伏监控解决方案-并网柜保护装置
  • gym-anytrading
  • 作业二.自定义数据集使用scikit-learn中的包实现线性回归方法对其进行拟合
  • 算法--最长回文子串
  • Github 2025-02-05 C开源项目日报 Top9
  • 堆(Heap)的原理与C++实现
  • Java 大视界 -- Java 大数据在智能安防中的应用与创新(73)
  • NacosRce到docker逃逸实战
  • vulnhub DC-3
  • 一文解释pytorch 中的 squeeze() 和 unsqueeze()函数(全网最详细版)
  • Docker基础以及单体实战
  • Node.js 与 PostgreSQL 集成:深入 pg 模块的应用与实践
  • 基于Ceph14对接openstack的Nova、Glance、Cinder服务为后端存储
  • [权限提升] Linux 提权 — 系统内核溢出漏洞提权
  • linux常用基础命令 最新
  • Java 微服务实用指南(一)
  • Node.js学习指南