新手:一篇配置文件了解Dockerfile(1)

创建一个文件Dockerfile,需要用到的文件放同级目录或子目录即可!
下面是配置文件需要的测试结构

[root@node3 test]# ls
Dockerfile  index.html  nginx-1.16.0.tar.gz  yum.repos.d

vim Dockerfile

#Description: test image
#指定基础镜像,必须为第一个命令
FROM busybox:latest

#作者-维护者信息
MAINTAINER "DuLu <dalu@sina.com>"

#ENV 定义变量
ENV DOC_ROOT=/data/web/html/ \
    WEB_SERVER_PACKAGE="nginx-1.16.0.tar.gz"

#复制本机当前目录的文件到docker容器的目标位置
COPY index.html $DOC_ROOT

#复制本机当前目录的文件夹到docker容器的目标文件夹,不存在则自动创建,\
#不写目标文件夹名称则只复制文件夹中的子文件
#COPY yum.repos.d /etc/yum.repos.d/

#自动下载网络资源到docker容器的目标位置
ADD http://nginx.org/download/${WEB_SERVER_PACKAGE} /usr/local/src/

#WORKDIR:工作目录,类似于cd命令.附:ADD命令自动解压文件到docker容器的目标位置
WORKDIR /usr/local/
#ADD ${WEB_SERVER_PACKAGE}.tar.gz ./src/

#VOLUME :用于指定持久化目录,挂载目录到docker容器。
#附:1 卷可以容器间共享和重用
#2 容器并不一定要和其它容器共享卷
#3 修改卷后会立即生效
#4 对卷的修改不会对镜像产生影响
#5 卷会一直存在,直到没有任何容器在使用它
VOLUME /data/java/

#EXPOSE暴露端口到外面(待)
EXPOSE 80/tcp

#RUN 在新容器内部执行的命令(建议通过&&将这些脚本连接在了一行执行,\
#因为,每多一行RUN都会给容器增加一层,所以所有有命令联结在一起执行以减少层数)
RUN cd /usr/local/src && \
    tar xf ${WEB_SERVER_PACKAGE}

对于菜鸡来说为了学习请把注释的命令:自己放开一一实验。

下面介绍常用命令

#根据当前目录的Dockerfile文件制作为myweb:v0.1-1的镜像
docker build -t myweb:v0.1-1 ./
#启动容器名为tinyweb1 ,但不运行,只查看httpd:v0.1-1镜像中文件/data/web/html/index.html是否存在
docker run --name tinyweb1 --rm myweb:v0.1-1 cat /data/web/html/index.html
#运行httpd服务在前台显示
docker run --name tinyweb1 --rm myweb:v0.1-1 /bin/httpd -f -h /data/web/html
#查看tinyweb1容器的相关信息
docker inspect tinyweb1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值