Linux

Docker实战

需求及场景:

  1. 新机器快速部署,启动,上线;

每个应用一个docker-compose脚本,快速启动

docker-compose

* service1
    * 镜像
        * Dockerfile
            * FROM
            * MAINTAINER
            * ENV
            * RUN
            * COPY
            * VOLUME
            * CMD
        * conf/
        * prebuild.sh
        * build.sh
        * start.sh
        * 
    * 启动脚本
        * 常量
        * 开机启动
        * 挂载数据卷
        * 挂载日志卷
        * 启动后执行程序

准备工作

目录结构

  • .gitignore
    • /source/* # 排除目录,不加入版本控制
    • /clean.sh # 排除清理脚本,偷懒的产物,不通用,比较危险
    • *.zip
    • *.tar.gz
  • .dockerignore
    • /source/*
    • /clean.sh
    • *.zip
    • *.tar.gz
  • Dockerfile
  • run.sh
    • 容器启动需要执行的内容(从启动参数获取变量)
      • 替换配置
      • 优化
      • 启动服务
  • prebuild.sh
    • build镜像前需要执行的内容
  • build.sh