7、DockerFile

2021-08-07  本文已影响0人  chanyi

dockerfile是一个脚本,可以通过此脚本生成一个镜像

1、dockerfile编写

1、dockerfile常用的指令

FROM 基础镜像,相当于父镜像
MAINTAINER 镜像制作者,一般是姓名+邮箱
RUN 镜像构建的时候需要运行的命令
ADD 给镜像中需要添加进去的内容
WORKDIR 镜像的工作目录
VOLUME 挂载的目录
EXPOSE 暴露的端口配置
CMD 指定容器启动的时候要运行的命令,只有最后一个会生效(run了镜像之后马上执行最后一个)
ENTRYPOINT 也是指定容器启动时运行的命令,可以追加命令(可以在run的命令中追加执行的命令)
ONBUILD 当构建一个被继承的DockerFile时 会运行ONBUILD的指令,触发指令
COPY 类似ADD,将文件拷贝到镜像中
ENV 设置环境变量

2、dockerfile创建实例

(1)、创建一个自己的centos
官方的centos省略掉了很多命令,比如vim ipconfig

FROM centos
MAINTAINER author<123456@gmail.com>
#设置环境变量
ENV MYPATH /usr/local
#设置工作目录
WORKDIR $MYPATH
#增加要运行的命令
RUN yum -y install vim
RUN yum -y install net-tools
#暴露端口
EXPOSE 80
#执行命令
CMD /bin/bash

2、docker build构建镜像

docker build命令
docker build -f dockerfile文件 -t 新镜像的名称:版本号 .
dockerfile文件的默认命名为Dockerfile,如果新建的dockerfile文件已经命名为Dockerfile了,则不需要在用-f指定对应的文件了

3、docker run运行镜像

运行生成的镜像,然后检查配置是否生效
docker run -it 镜像名
可以通过docker history 镜像id 查看镜像构建的过程

4、docker push发布镜像(DockerHub/阿里云镜像仓库)

注意
这里如果提示已经存在的话,则可以使用docker tag 镜像id tag名称新创建一个tag,然后push新的tag的镜像即可

上一篇下一篇

猜你喜欢

热点阅读