Dockerfile:将本地的应用或者项目构建成镜像,然后进行使用和运行,发布微服务!!!
基本命令
#定义基础镜像
Form image_name:tag
#声明镜像的创建者
MAINTAINER user_name
#设置环境变量(可以写多条)
ENV key value
#是Docker的核心部分(可以写多条)
RUN command
#将宿主机的文件复制到容器内,如果是一个压缩文件,将会在复制后自动解压
ADD source dir/file
#将会在复制后自动解压
ADD dest dir/file
#和 ADD 相似,但是如果有解压并不能解压
COPY source dir/file
COPY dir/file
#设置工作目录
WORKDIR path dir
#指定开发的端口
EXPOSE port1 port2
# 为启动的容器指定默认要运行的程序,程序运行结束,容器也就结束,argument会被docker run 后的参数覆盖
CMD argument
#与CMDA相似,argument不会被覆盖
ENTRYPOINT argument
#将本地文件夹或者其他容器的文件夹挂载到容器中
COLUME
一、【实战一下】使用Docker构建jdk1.8镜像
1. 将jdk-8u141-linux-x64.tar.gz包下载到本地,然后用ftp传入Linux。
链接:jdk-8u141-linux-x64.tar.gz
提取码:csqp
2. 新建一个jdk文件夹将文件拷贝至jdk目录中
mkdir jdk
3. pull centos镜像作为基础镜像,在此基础上建立jdk镜像
#查看centos镜像
docker search centos
#拉去镜像
docker pull centos
#查看所有镜像
docker images
4. 在jdk目录下编写一个Dockerfile
vi Dockerfile
5. 在Dockerfile添加内容
FROM centos #基于centos镜像(docker 镜像中pull一个)
MAINTAINER xry # 创建者
RUN mkdir /usr/local/jdk #运行目录
WORKDIR /usr/local/jdk #工作目录
ADD jdk-8u144-linux-x64.tar.gz /usr/local/jdk #复制并解压
ENV JAVA_HOME /usr/local/jdk/jdk1.8.0_141 #环境变量配置
ENV JRE_HOME /usr/local/jdk/