文章目录
命令 | 作用 |
---|---|
FROM image:tag | 指定基础镜像,有点继承的意思 |
MAINTAINER user_name | 声明镜像的创建者 |
ENV key value | 设置环境变量,可以设置多条,比如 ENV VERSION=1.0 |
RUN command | 核心命令,多个命令用&&连接即可 |
ADD source_dir/file dest_dir/file | 将宿主机的文件负复制到容器内,如果是一个压缩文件,将会自动解压缩 |
COPY source_dir/file dest_dir/file | 和ADD命令类似,但是不能自动解压缩 |
WORKDIR path_dir | 指定当前的工作目录,由于分层的概念,每一个命令的工作目录都不同,因此需要使用该命令显示指定工作目录 |
CMD args | 在构建容器的时候使用,会docker run 后的args覆盖 |
ENTRYPOINT args | 和CMD相似,但是不会被docker run后的args覆盖 |
VOLUME | 将本地文件夹挂载到容器中 |
vim /etc/docker/daemon.json
,设置如下内容即可:{
"registry-mirrors":["https://rxx4pnmv.mirror.aliyuncs.com"]
}
Dockerfile
# 初始镜像,默认拉去lastest的
FROM centos
# 指定镜像的构建者
MAINTAINER chenjiabing666
# 切换工作目到usr,这个是容器中的目录
WORKDIR /usr
# 新建 /usr/local/java目录
RUN mkdir /usr/local/java
# 添加本地的jdk到容器中并且解压
ADD jdk-8u172-linux-x64.tar.gz /usr/local/java/
# 设置环境变量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_181
ENV CLASSPATH $JAVA_HOME/lib;$JAVA_HOME/jre/lib
ENV PATH $PATH:$JAVA_HOME/bin
docker build -t jdk8 .
:构建镜像docker run --name jdk -di jdk8
:运行镜像