8月8日docker镜像构建1-3

课程价值

学习如何搭建镜像仓库以及常用的镜像制作方法和其中的原理。

课程大纲

  1. 搭建私有镜像仓库
  2. docker commit和dockerfile的制作方式
  3. dockerfile的多from指令
  4. dockerfile设计的文件系统原理

课程时长

3.5h

PPT

ppt跳转

作业

使用dockerfile 制作教学项目的镜像

福尔摩斯的Dockerfile细节
RUN yum install -y epel-release \
    && yum install -y python34 git python34-setuptools python34-devel.x86_64 \
    && easy_install-3.4 pip \
    && yum install -y gcc \
    && yum install -y soci-mysql-devel.x86_64 \
    && ln -s /usr/local/mysql/bin/mysql /usr/bin \
    && pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/

pip3 install -r requirement.txt -i https://mirrors.aliyun.com/pypi/simple/
/usr/bin/python3.4 app.py

编写dockerfile的一般步骤:

  1. 新建一个目录(避免dockerbuild的时候加载工作目录下的所有内容导致加载过慢, 所以要新建一个新的目录来单独存放dockerfile)
  2. vim 一个 dockerfile文件
  3. 如果制作镜像的时候,需要ADD指令添加外部文件到镜像中, 需要把这个文件copy到步骤1中新建的目录内。
  4. vim dockerfile。 使用FROM 指令 选择继承的基础镜像, 使用ADD指令把外部文件添加到镜像中。 使用USER指令切换用户(可选)使用WORKDIR指令切换目录(可选)使用RUN指令 安装软件(例如:git,wget,maven,java) 使用ENTRYPOINT ["/root/entrypoint.sh"] 来指定容器启动的脚本(PS:启动脚本是容器的1号进程, 需要保证持久运行,否则启动脚本结束后, 容器将自动关闭)
  5. 运行docker build -t 镜像名称 工作目录(一般是一个 . 表示当前目录)
多FROM 指令
FROM centos:6.9 as builder

# 下载基础工具
RUN echo "this is a test" > gaofei.tar


FROM busybox

WORKDIR /root

COPY --from=builder gaofei.tar .

课后调查表单

关闭