本篇文章来介绍下dockerfile

        我开始玩儿docker的时候,都是通过docker pull命令把基础镜像拉取到本地,然后在跑成容器,在操作容器,做一些自己的事情,比如安装个java环境什么的,直到我接触到了dockerfile,我发现dockerfile真是个好东西呀。

        dockerfile是用来干什么的呢,简单理解,就是用来描述你需要一个什么样的镜像的,话不多说我直接举个例子,我的例子是需要java、es、es插件和我自己的一个项目

# 基础镜像
FROM centos:7

# 创建 es 用户
RUN useradd -m es

# 创建文件件
RUN mkdir -p /usr/local/java
RUN mkdir -p /usr/local/elastic/es_plugin
RUN mkdir -p /usr/local/project


# 复制 Java 1.8 安装包
COPY jdk-8u411-linux-x64.tar.gz /tmp/
RUN tar -xzf /tmp/jdk-8u411-linux-x64.tar.gz -C /usr/local/java
ENV JAVA_HOME=/usr/local/java/jdk1.8.0_411
ENV PATH=${JAVA_HOME}/bin:${PATH}

# 检查环境变量
RUN echo $JAVA_HOME
RUN ls $JAVA_HOME

# 复制 Elasticsearch 6.8.13 安装包
COPY elasticsearch-6.8.13.tar.gz /tmp/
RUN tar -xzf /tmp/elasticsearch-6.8.13.tar.gz -C /usr/local/elastic
ENV ES_HOME=/usr/local/elastic/elasticsearch-6.8.13
RUN ln -s $ES_HOME /usr/share/elasticsearch


# 配置 Elasticsearch
RUN rm -rf $ES_HOME/config/elasticsearch.yml
COPY elasticsearch.yml $ES_HOME/config/elasticsearch.yml

# 安装 ik 插件
COPY elasticsearch-analysis-ik-6.8.13.zip /usr/local/elastic/es_plugin
RUN $ES_HOME/bin/elasticsearch-plugin install --batch file:///usr/local/elastic/es_plugin/elasticsearch-analysis-ik-6.8.13.zip

# 安装 score 插件
COPY expert-score-scripts.zip /usr/local/elastic/es_plugin
RUN $ES_HOME/bin/elasticsearch-plugin install --batch file:///usr/local/elastic/es_plugin/expert-score-scripts.zip


# 拷贝启动脚本
COPY es-start.sh /usr/local/elastic/
# 修改格式
RUN sed -i 's/\r//' /usr/local/elastic/*.sh
# 增加执行权限
RUN chmod +x /usr/local/elastic/es-start.sh

# 修改所属用户
RUN chown -R es:es $ES_HOME
Run chown -R es:es /usr/local/elastic

# 安装 libgomp.so 动态链接库
RUN yum install -y libgomp

# 安装 unzip 工具
RUN yum install -y unzip

# 暴露 Elasticsearch 和 JAR 包端口
EXPOSE 9200 9300 8080

        dockerfile写法跟shell脚本很相似,它执行起来是这个样子的
在这里插入图片描述
        这样就会生成一个镜像,在启动镜像,看看你需要的东西是不是已经有了,太奇妙了。
        如果你对docker命令还不太熟悉,可以参考下这个链接:https://blog.youkuaiyun.com/dydyswr/article/details/143316174

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值