Dockerfile构建镜像

Dockerfile是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像。

一、常用命令

命令

作用

FROM image_name:tag

定义了使用哪个基础镜像启动构建流程

MAINTAINER user_name

声明镜像的创建者

ENV key value

设置环境变量 (可以写多条)

RUN command

是Dockerfile的核心部分(可以写多条)

ADD source_dir/file dest_dir/file

将宿主机的文件复制到容器内,如果是一个压缩文件,将会在复制后自动解压

COPY source_dir/file dest_dir/file

和ADD相似,但是如果有压缩文件并不能解压

WORKDIR path_dir

设置工作目录

Dockerfile文件示例:

FROM python:3.6-alpine   # 指定基础镜像,基于这个镜像创建,这个比较小

MAINTAINER Bob  # 指明作者
ENV http_proxy http://域名:913  # ENV就是配置全局环境变量,有些环境需要代理上网,这里可以配置
ENV https_proxy http://域名:913
RUN mkdir -p /root/code  # 在容器内新建文件夹
COPY . /root/code  # 把当前的代码copy到建好的目录中去
WORKDIR /root/code  # 设置工作目录为此目录
# 下一步进行安装依赖
RUN pip install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
EXPOSE 9000  # 指定开放9000端口
CMD ["python3","manage.py","runserver","0.0.0.0:9000"]  # 启动的命令,也可以写脚本
ENTRYPOINT ["/root/start_script.sh"]  # 脚本启动可以这么写

 基于以上的Dockerfile文件,我们就可以构建一个新的镜像。

# 注意最后面的.,指定以当前目录下的Dockerfile文件build镜像
docker build -t 域名/oss-cloud-registry/statisticstime:v1.1.0 .

 查看构建好的镜像

docker images

 本地构建的镜像会越来越多,造成空间浪费,应删除版本比较旧的镜像

docker rmi <Image ID> --force

 我们build好镜像后,可以先运行检查是否能正常访问

# -p就是端口映射,
docker run -p 9000:9000 域名/oss-cloud-registry/statisticstime:v1.1.0

如果可以正常访问,那么就可以push到远端仓库

docker push 域名/oss-cloud-registry/statisticstime:v1.1.0

 最后,我们就可以利用kubernetes拉取镜像进行部署了。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值