【Docker】Dockerfile基础知识,相信你一定有所收获
原文:【Docker】Dockerfile基础知识,相信你一定有所收获
Dockerfile常用命令
FROM: 继承基础镜像 MAINTAINER:镜像制作作者信息 RUN: 用来执行shell命令 EXPOSE: 暴露端口号 CMD: 启动容器默认执行的命令,会被覆盖 ENTRYPOINT: 启动容器真正执行的命令,不会被覆盖 VOLUME:创建该挂载点 ENV: 配置环境变量 ADD: 复制文件到容器,一般拷贝文件,压缩包自动解压 COPY:复制文件到容器,一般可拷贝目录 WORKDIR:设置容器的工作目录 USER:容器使用的用户
接下来,列举几个Dockerfile的实例。
Dockerfile实例
1.使用RUN创建一个用户
Dockerfile文件内容如下所示。
FROM centos:6 MAINTAINER binghe RUN useradd binghe
执行构建,如下所示。
docker build -t centos:user .
2.使用ENV定义环境变量并用CMD执行命令
Dockerfile文件内容如下所示。
FROM centos:6 MAINTAINER binghe RUN useradd binghe RUN mkdir binghe ENV envir=test version=1.0 CMD echo "envir:$envir version:$version"
执行构建并启动测试:
#执行构建 docker build -t centos:evn-cmd . #启动镜像验证EVN和CMD docker run centos:env-cmd
3.使用ADD添加一个压缩包,使用WORKDIR改变工作目录
FROM nginx MAINTAINER binghe ADD ./index.tar.gz /usr/share/nginx/html/ WORKDIR /usr/share/nginx/html
4.使用COPY拷贝目录
使用COPY拷贝指定目录下的所有文件到容器,不包括本级目录。此时只会拷贝webroot下的所有文件,不会将webroot拷贝过去:
FROM nginx MAINTAINER binghe ADD ./index.tar.gz /usr/share/nginx/html/ WORKDIR /usr/share/nginx/html COPY webroot/ .
5.设置启动容器的用户
设置启动容器的用户,在生产环境中一般不建议使用root用户启动容器,所以,可以根据公司业务场景自定义启动容器的用户:
FROM centos:6 MAINTAINER binghe ADD ./index.tar.gz /usr/share/nginx/html/ WORKDIR /usr/share/nginx/html COPY webroot/ . RUN useradd -m tomcat -u 1001 USER 1001
6.使用VOLUME创建容器可挂载点
FROM centos:6 MAINTAINER binghe VOLUME /data
挂载目录到/data,注意:对于宿主机路径,要写绝对路径:
docker run -ti --rm -v `pwd` /web:/data centos:volume bash
写在最后
如果觉得文章对你有点帮助,请微信搜索并关注「 冰河技术 」微信公众号,跟冰河学习Spring注解驱动开发。公众号回复“spring注解”关键字,领取Spring注解驱动开发核心知识图,让Spring注解驱动开发不再迷茫。
相关推荐
xysoul 2020-11-03
ShangQuan0 2020-09-10
fearlessxjdx 2020-09-04
flyDeDog 2020-06-04
anloan 2020-05-31
小信 2020-07-28
Crystalqy 2020-08-15
yss0 2020-08-19
young依然 2020-08-17
TaoTaoFu 2020-08-03
vtnews 2020-07-29
白开水 2020-07-19
lihy0 2020-07-18
糊一笑 2020-07-04
wzg0wzg 2020-07-04
pigsmall 2020-07-04
VFCSDN 2020-07-04
qdqht00 2020-06-28
tosim 2020-06-24