0 开始之前
Dockerfile 作为一个规则文件可以方便镜像的构建,便于版本管理,工作中有用到打镜像,这里根据自己写的一个Dokefile脚本,记录下工作中Dockerfile常用的语法和一些常见的坑。
1 使用
1.1 FROM
一般用作引入基础镜像。
FROM csighub.tencentyun.com/xxx/xxx
1.2 LABEL
主要是对版本的说明。
LABEL For GameCommunity Golang CI
1.3 ENV
环境变量相关。
ENV GOPATH=/root/go \
LANG=zh_CN.UTF-8 \
LANGUAGE=zh_CN:zh \
LC_ALL=zh_CN.UTF-8
1.4 RUN
主要是包含一些在镜像机的执行命令(具体命令类型由CMD决定)。
RUN mkdir -p /data/home/user00 && \
useradd -Ms /bin/bash -d /data/home/user00 -g users user00 && \
chown -R user00:users /data/home/user00 && \
mkdir -p /data/rail && \
chown -R user00:users /data/rail && \
git clone https://github.com/protocolbuffers/protobuf.git --recurse && \
cd proto