10.dockerfile之WORKDIR指令

一、WORKDIR指令说明


用来指定当前工作目录(或者称为当前目录)

当使用相对目录的情况下,采用上一个WORKDIR指定的目录作为基准

相当与cd 命令,但不同的是指定了WORKDIR后,容器启动时执行的命令会在该目录下执行

 

二、案例


1.dockerfile内部使用WORKDIR指令 

首先,先创建一个dockerfile:

#base image
FROM centos

#MAINTAINER,this dockerfile creater
MAINTAINER loose@docker.com

#安装wget命令,这里有需要让我们输入y/n选项,所以添加-y
RUN yum install wget -y

#创建/usr/local/tomcat目录
RUN mkdir /usr/local/tomcat

#定位到tomcat下载目录
WORKDIR /usr/local/tomcat

#wget tomcat.tar.gz到/usr/local/tomcat目录
RUN wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-7/v7.0.86/bin/apache-tomcat-7.0.86.tar.gz

该dockerfile主要是创建一个目录,然后定位到创建的目录中,最后wget tomcat.tar.gz

其次,构建镜像并查看镜像:

最后,进入伪交互模式,查看dockerfile文件中WORKDIR定位的目录中是否存在tomcat.tar.gz包:

 

2.在外部指定WORKDIR

可以在 docker run命令中用 -w参数覆盖掉WORKDIR指令的设置,这时我们进入伪交互的时候顺便解压tomcat.tar.gz:

这时候是有解压操作执行的,我们用-w覆盖WORKDIR指令参数,再次解压:

最后,我们再根据-w执行具体的路径地址,再次解压:

 

posted @ 2018-04-30 21:34  飘飘来来荡荡去去  阅读(16167)  评论(0编辑  收藏  举报