Dockerfile

  1. 命令(必须大写)
FROM :当前镜像基于哪个镜像
MAINTAINER:镜像维护者的姓名和邮箱地址
RUN:容器构建时需要运行的命令,(shell命令或exec命令)
EXPOSE:当前容器对外暴露的端口
WORKDIR:创建容器后,终端登陆进来的默认目录,亦即落脚点
USER:指定镜像以什么样的用户执行,默认root
ENV:环境变量
ADD:将宿主机目录下的文件拷贝进镜像且会自动处理url和解压tar压缩包(亦即COPY+解压的合体)
COPY:拷贝文件和目录到镜像,或者反操作
VOLUME:容器卷
CMD:指定容器启动后要干的事情(可以有多个,但只有最后一个生效.docker run命令后的参数会覆盖掉它)
ENTRYPOINT:指定一个容器启动时要运行的命令(不会被docker run 命令覆盖)
ENTRYPOINT和CMD组合后,cmd会变成参数
  1. 下载文件
# 拉镜像
docker pull centos:centos7
# 下载jdk8
# 自己去oracle下载
  1. 创建Dockerfile文件
FROM centos:centos7
MAINTAINER slash<slash@126.com>

ENV MYPATH /usr/local/
WORKDIR $MYPATH

#安装vim编辑器
RUN yum -y install vim
#安装ifconfig命令查看网络ip
RUN yum -y install net-tools
#安装java8及lib库(32位叫i686,64位叫amd64,arm版本的叫aarch64)
RUN yum -y install glibc.i686
RUN mkdir /usr/local/java
#ADD 是相对路径jar,把文件添加到容器中,安装包必须要和Dockerfile文件在同一位置
ADD jdk-8u341-fcs-bin-b10-linux-aarch64-16_jun_2022.tar /usr/local/java/
#配置java环境变量(jdk1.几要和自己的一样)
ENV JAVA_HOME /usr/local/java/jdk1.8.0_341
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATH
yum
EXPOSE 80

CMD echo $MYPATH
CMD echo "success--ok"
CMD /bin/bash
  1. 构建镜像并检测
docker build -t centosjava8:1.5 .     
# 1.5后面一个点,说明Dockfile和jar包要在当前目录下
docker run -it --name 容器名 镜像id /bin/bash
# java -verison检测是否安装成功
  1. 删除虚悬镜像
docker image prune
# 输入"y"
  1. 运行spring boot项目
# 或者 FROM openjdk:8
FROM centosjava8:1.5

MAINTAINER slash<slash@126.com>
# 将jar包添加到容器中并改名
ADD distributed-lock-0.0.1-SNAPSHOT.jar distributed-lock.jar
# 运行jar包
RUN bash -c 'touch /distributed-lock.jar'
ENTRYPOINT ["java","-jar","/distributed-lock.jar"]
# 暴露端口
EXPOSE 10010
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值