day06-20200720
p24.dockerfile案例编写-1
 
1.创建好容器时,进去容器的时候,修改所在的当前目录。
2.新添加命令。支持vim、ifconfig
备注:原来的镜像容器默认是不满足上面的条件的。
第一步:DockerFile编写
 
DockerFile_20200720_1
FROM centos
 
MAINTAINER fengyarong
 
ENV mypath /tmp
 
WORKDIR $mypath
 
RUN yum -y install vim
RUN yum -y install net-tools
 
EXPOSE 80
 
CMD echo $mypath
CMD echo "success -----ok"
CMD /bin/bash
 
第二步:构建镜像
【docker build -f /tmp/mydockerfile/DockerFile_20200720_1 -t fyr/centos:20200720.1 .】
【.】表示当前目录
 
第三步:运行容器
【docker run -it fyr/centos:20200720.1】
 
附加:【docker history 镜像id】可以查看本次镜像的构建过程。
 
p25.dockerfile案例编写-2
 
【CMD】和【ENTRYPOINT】如何区别?
 
通过镜像部署tomcat之所以运行就启动是因为,文件dockerfile里面最后有一句【CMD ["catalina.sh","run"]】
 
假设我们现在【docker run -it -p 8888:8080 tomcat ls -l】tomcat还会自动运行吗?
不会,容器启动后运行了ls -l就停止了。tomcat的目录。
 
第一步:编写dockerfile
DockerFile_20200720_2
FROM centos
RUN yum -y install curl
CMD [ "curl","-s","http://ip.cn" ]
 
第二步:构建镜像
【docker build -f DockerFile_20200720_2 -t fyr/centos:20200720.2 .】
 
第三步:运行容器
【docker run -it fyr/centos:20200720.2】
显示ip
【docker run -it fyr/centos:20200720.2 -i】
会报错,找不到-i这个命令
所以是不可以直接运行的,而是覆盖CMD [ "curl","-s","http://ip.cn" ]命令。
 
第四步:重新编写dockersfile
DockerFile_20200720_3
FROM centos
RUN yum -y install curl
ENTRYPOINT [ "curl","-s","http://ip.cn" ]
 
第五步:构建镜像
【docker build -f DockerFile_20200720_3 -t fyr/centos:20200720.3 .】
 
第六步:运行容器
【docker run -it fyr/centos:20200720.3】
显示ip
【docker run -it fyr/centos:20200720.3 -i】
成功解析,并显示ip
证明命令都执行,而不是覆盖。
 
 
 
 
 
 
 

跟着尚硅谷系统学习Docker-【day06】的更多相关文章

  1. 跟着尚硅谷系统学习Docker-【day01】

    day01-20200710   p1.基础知识   鲸鱼背上有一些集装箱   学习docker得基础知识   1.强制:熟悉Linux命令和相关背景知识 2.建议有maven和git的相关知识   ...

  2. 跟着尚硅谷系统学习Docker-【day08】

    day08-20200723   p32.docker 安装redis   [ docker pull redis] [docker run -p 6397:6397 -v /tmp/mydocker ...

  3. 跟着尚硅谷系统学习Docker-【day03】

    day03-20200715   p15.docker容器命令(下)   以守护进程的形式启动 [docker run -d 容器名]后台运行 启动了后又关闭了,与前台没有交互,立刻就kill了.前台 ...

  4. 跟着尚硅谷系统学习Docker-【day02】

    day02-20200714   p9.docker阿里云配置   helloword   拉取镜像-运行-   拉取镜像如果从国外网站拉取辉比较慢,所以需要配置阿里云或者网易云得镜像仓库.   首先 ...

  5. 跟着尚硅谷系统学习Docker-【day07】

    day07-20200722   p27.dockerfile案例编写-3   第一步:编写父dockerfile DockerFile_20200722_2 FROM centos RUN yum ...

  6. 跟着尚硅谷系统学习Docker-【day05】

    day05-20200717   p21.docker容器数据卷容器   就是活动硬盘上面挂载硬盘进行数据的传递.     [docker run -it --name dc01 fyr/centos ...

  7. 跟着尚硅谷系统学习Docker-【day04】

    day04-20200716   p18.docker容器数据卷   docker容器中的数据,做持久化. 容器关闭以后容器内的数据就没有了. 保存到数据库或者服务器宿主机里面.   作用:容器间可以 ...

  8. 尚硅谷Docker---1、docker杂记

    尚硅谷Docker---1.docker杂记 一.总结 一句话总结: ~ php用的homestead就相当于docker,javaee一般都是用docker,php也可以用docker ~ dock ...

  9. 尚硅谷Docker---1-5、docker简介

    尚硅谷Docker---1-5.docker简介 一.总结 一句话总结: docker是环境打包:有点像windows镜像 docker的实质:缩小版.精细版.高度浓缩版的一个小型的linux系统 1 ...

随机推荐

  1. Linux命令持续学习

    1 基础命令 1 jps 查看后台运行的java相关的程序  jvm调优所有 2 ps -ef | grep java 查询后台运行的程序(通过关键字) 3 cd - 回到上一级目录 4 vim之后输 ...

  2. Docker 快速搭建 MySQL8 开发环境

    使用 Docker 快速搭建一个 MySQL8 开发环境 步骤 获取镜像 docker pull mysql:8 启动容器,密码 123456,映射 3306 端口 docker run --name ...

  3. DRF基础操作流程

    Django Rest_Framework 核心思想: 缩减编写api接口的代码 -->DRF Django REST framework是一个建立在Django基础之上的Web 应用开发框架, ...

  4. 45道Promise面试题

    来看看通过阅读本篇文章要点: Promise的几道基础题 Promise结合setTimeout Promise中的then.catch.finally Promise中的all和race async ...

  5. equals&hashCode

    经典规则:如果重写了equals,必须重写hashCode 为什么??? 这个规则考虑的应用场景:如果你的对象可能放入HashMap,HashSet,不重写会出问题 问题场景: new一个对象,重写了 ...

  6. 重回OI的第一篇博客

    太久没学OI了, 代码都不会写了, 先写一篇BFS练练手, 是我太菜了qwq #include<cstdio> #include<queue> #include<iost ...

  7. windows 下 安装 RabbitMQ

    RabbitMQ是一个在AMQP协议标准基础上完整的.可复用的企业消息系统.它遵循Mozilla Public License开源协议,采用 Erlang 实现的工业级的消息队列(MQ)服务器.它扮演 ...

  8. 《Java从入门到失业》第二章:Java环境(一):Java SE安装

    从这一章开始,终于我们可以开始正式进入Java世界了.前面我们提到过,Java分三个版本,我们这里只讨论Java SE. 2.1Java SE安装 所谓工欲善其事,必先利其器.第一步,我们当然是要下载 ...

  9. Java中实现十进制数转换为二进制的三种方法

    第一种:除基倒取余法 这是最符合我们平时的数学逻辑思维的,即输入一个十进制数n,每次用n除以2,把余数记下来,再用商去除以2...依次循环,直到商为0结束,把余数倒着依次排列,就构成了转换后的二进制数 ...

  10. Storm与SparkStreaming对比

    Storm与SparkStreaming对比 ◆ Spark Streaming 批处理的性能比Storm高出几十倍.◆ Streaming采用小批量模式,Storm是一条消息一条消息的计算.◆ St ...