==============================================================================
我们从官方pull下来的centos
镜像是mini版的,所以不带有vim
这些基础命令,那我们就来自定义一个镜像,功能比官方下载的强大点,同时运用下各个指令。
首先我们来编写对应的Dockerfile文件。内容如下
FROM centos
MAINTAINER bobodengpbs@163.com
ENV MYPATH /usr/local
WORKDIR $MYPATH
RUN yum -y install vim
EXPOSE 80
CMD echo $MYPATH
CMD echo “success--------------ok”
CMD /bin/bash
然后将脚本构建成对应的镜像文件。
docker build -f dockerfile名称 -t 新建的镜像名:TAG .
查看镜像
运行镜像文件。
docker run -it 新镜像名称:TAG
运行容器后,落脚点是 /usr/local
因为我们配置了WORKDIR
查看一个镜像文件的变更历史可以使用如下命令:
docker history 镜像名
在本例中我们用到了 FROM
MAINTAINER
RUN
EXPOSE
ENV
WORKDIR
命令
=================================================================================
接下来我们通过案例来看看CMD
和ENTRYPOINT
两个命令的区别,这两个命令的作用都是指定一个容器启动时要运行的命令
Dockerfile中可以有多个CMD指令,但只有最后一个生效,CMD会被docker run之后的参数替换掉,我们通过tomcat的案例来介绍。
正常情况如下
docker run -it -p 8888:8080 tomcat
但是当我们在 执行命令后添加参数的话,如下
原因是我们先看Tomact对应的 Dockerfile文件
然而我们的run命令 把Dockerfile中的最后的CMD命令覆盖了~~
有别于CMD
命令,ENTRYPOINT
命令是在 docker run
之后的参数会被当做参数传递给 ENTRYPOINT,之后形成新的组合命令。我们通过curl
指令来介绍这个案例。
Dockerfile文件如下:
FROM centos
RUN yum install -y curl
ENTRYPOINT [ “curl”, “-s”, “http://www.baidu.com” ]
构建
正常run
加-i
参数 查看响应报文头
通过这个例子 可以看到ENTRYPOINT
不会覆盖,而是组合成了一个新的命令。
===========================================================================
最后我们通过自定义一个tomcat
镜像来介绍下ADD
和COPY
这两个命令的区别。
在当前目录下创建一个 hello.txt
文件,作用是COPY
到容器中
准备对应的jdk
和tomcat
的压缩文件。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
![img](https://i-blog.csdnimg.cn/blog_migrate/9afb9dae7e149285c19338f27dce2e2d.jpeg)
那么如何才能正确的掌握Redis呢?
为了让大家能够在Redis上能够加深,所以这次给大家准备了一些Redis的学习资料,还有一些大厂的面试题,包括以下这些面试题
-
并发编程面试题汇总
-
JVM面试题汇总
-
Netty常被问到的那些面试题汇总
-
Tomcat面试题整理汇总
-
Mysql面试题汇总
-
Spring源码深度解析
-
Mybatis常见面试题汇总
-
Nginx那些面试题汇总
-
Zookeeper面试题汇总
-
RabbitMQ常见面试题汇总
JVM常频面试:
Mysql面试题汇总(一)
Mysql面试题汇总(二)
Redis常见面试题汇总(300+题)
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!
RabbitMQ常见面试题汇总
JVM常频面试:
[外链图片转存中…(img-JSM8bouG-1711965957838)]
Mysql面试题汇总(一)
[外链图片转存中…(img-RfHgmCcT-1711965957838)]
Mysql面试题汇总(二)
[外链图片转存中…(img-6iteUm5c-1711965957838)]
Redis常见面试题汇总(300+题)
[外链图片转存中…(img-7oveguuy-1711965957839)]
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!