hincky的主页 hincky的主页
  • 学习笔记

    • Vue笔记
    • Vuepress
    • nginx
  • 语言类

    • java
    • go
    • python
    • 设计模式
  • 框架类

    • Spring
    • Spring Security
    • Mybatis
  • 容器技术

    • docker
    • k8s
    • helm
    • prometheus
    • grafana
    • jenkins
  • 命令集合

    • linux命令
    • docker命令
    • git命令
    • vim命令
    • k8s命令
  • 数据库

    • sql
    • mysql
  • 协议

    • 网络模型
    • http/1.1
    • WebSocket
    • http/2
    • TLS/SSL
    • tcp
    • IP
    • tcpdump抓包命令
    • wireshark抓包工具
  • 通用

    • Git
  • 技术分享

    • git push/pull总是超时怎么办
    • idea debug技巧
    • postman使用
    • 问题总结
    • idea使用技巧
  • Oauth2

    • Oauth2原理
  • 项目列表

    • redis项目
    • 微服务项目
  • 分类
  • 标签
  • 归档
  • 随笔
GitHub (opens new window)

Hincky

当有趣的人,做想做的事
  • 学习笔记

    • Vue笔记
    • Vuepress
    • nginx
  • 语言类

    • java
    • go
    • python
    • 设计模式
  • 框架类

    • Spring
    • Spring Security
    • Mybatis
  • 容器技术

    • docker
    • k8s
    • helm
    • prometheus
    • grafana
    • jenkins
  • 命令集合

    • linux命令
    • docker命令
    • git命令
    • vim命令
    • k8s命令
  • 数据库

    • sql
    • mysql
  • 协议

    • 网络模型
    • http/1.1
    • WebSocket
    • http/2
    • TLS/SSL
    • tcp
    • IP
    • tcpdump抓包命令
    • wireshark抓包工具
  • 通用

    • Git
  • 技术分享

    • git push/pull总是超时怎么办
    • idea debug技巧
    • postman使用
    • 问题总结
    • idea使用技巧
  • Oauth2

    • Oauth2原理
  • 项目列表

    • redis项目
    • 微服务项目
  • 分类
  • 标签
  • 归档
  • 随笔
GitHub (opens new window)
  • 容器技术

    • docker

      • 安装docker并换源
        • 卸载旧版本的 Docker
        • 安装依赖包
        • 添加 Docker 官方 GPG 密钥
        • 安装 Docker CE
        • 启动 Docker
        • 设置 Docker 自启动
        • 更换 Docker 镜像源为阿里云
        • 重启 Docker
        • 一体化脚本
      • docker容器内换源
        • 端口映射
        • docker容器内换源
      • 安装docker-compose
        • 下载最新版本的 Docker Compose:
        • 设置执行权限
        • 验证安装
        • 一体化脚本
      • docker-compose部署mysql主从集群
        • 创建docker-compose.yaml文件
        • 创建关键目录
        • 启动容器
        • 一体化脚本
      • dockerfile
        • 总体步骤
        • 编写Dockerfile
    • k8s

    • helm

    • rancher

    • prometheus

    • grafana

    • containerd

    • jenkins

  • 命令集合

  • 软路由

  • 容量保障技术

  • 运维
  • 容器技术
  • docker
hincky
2022-11-13
目录

dockerfile

概述 dockerfile是用来构建docker镜像的文本文件,是由一条条构建镜像所需的指令和参数构成的脚本。

docker commit是在现有镜像进行人工干预,进行了功能加强,然后commit docker commit 缺点:对于大量变化难以逐个commit

dockerfile就是一次性将这些功能加强的修改集成为一个list。要加什么直接改这个list就可以了

如图,dockerfile是独立于docker之外的

dockerfile官网文档 (opens new window)

# 总体步骤

  • 编写Dockerfile文件
  • docker build构建镜像
  • docker run运行容器

# 编写Dockerfile

  1. 大写保留字指令(FROM,CMD...),且后面至少跟一个参数
  2. 顺序执行指令,#为注释
  3. 每条指令会创建一层新镜像层并提交
指令 意义
FROM 基础镜像
RUN 容器构建时运行(docker build)时的命令
shell和exec两种格式
EXPOSE 容器对外暴露的端口
ENV 设置环境变量,该变量可以在后续任何RUN中使用
WORKDIR 终端登录进容器后的工作目录,一般和ENV一起使用
USER 镜像以什么用户去执行,默认root
VOLUME 数据卷,数据保存的持久化工作
ADD 将宿主机目录下的文件拷贝到镜像,且会自动处理URL和解压tar压缩包
COPY 类似ADD,拷贝源文件和源目录到镜像目标路径中,作用和docker cp一样
CMD 容器启动后要做的事情,只用最后一个生效
ENTRYPOINT
编辑 (opens new window)
#docker
docker-compose部署mysql主从集群
rke包管理工具

← docker-compose部署mysql主从集群 rke包管理工具→

最近更新
01
人生前期重要的能力
05-17
02
防火墙命令
04-11
03
docker-compose部署mysql主从集群
03-22
更多文章>
Theme by Vdoing | Copyright © 2022-2023 Hincky | MIT License | 粤ICP备2022120427号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式