Docker镜像创建的三种方式详解——dockerfile制作apache镜像
基于已有的镜像容器进行创建
[root@localhost opt]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
19ed00c77db9 centos:7 "/bin/bash" About a minute ago Up About a minute quizzical_northcutt
fd562f234cca nginx:latest "/docker-entrypoint.…" 41 minutes ago Up 5 minutes 80/tcp cranky_agnesi[root@localhost opt]# docker commit -m "new" -a "docker" 19ed00c77db9 docker:test
sha256:13d5c0ea9bc703a1923f0d2968d4602f85a40eff98a3f5ce7436046c8bee46f9
[root@localhost opt]# docker images | grep docker
docker test 13d5c0ea9bc7 12 seconds ago 203MB
基于本地模板创建
准备模板包debian-7.0-x86-minimal.tar.gz
[root@localhost opt]# cat debian-7.0-x86-minimal.tar.gz | docker import - docker:new
sha256:f924115851b55619925de9bdcb88a65640a13c7a056b7eb0ee2d245c428de837
[root@localhost opt]# docker images | grep new
docker new f924115851b5 10 seconds ago 215MB
基于Dockerfile创建
[root@localhost opt]# mkdir apache
[root@localhost opt]# cd apache
[root@localhost apache]# vim Dockerfile
FROM centos:7
MAINTAINER alis
RUN yum -y update
RUN yum -y install httpd
EXPOSE 80
ADD index.html /var/www/html/index.html
ADD run.sh /run.sh
RUN chmod 755 /run.sh
CMD ["/run.sh"][root@localhost apache]# vim run.sh
#!/bin/bash
rm -rf /run/httpd/*
exec /usr/sbin/apachectl -D FOREGROUND[root@localhost apache]# echo "this is web test" > index.html
上面的文件准备好后,生成镜像
[root@localhost apache]# docker build -t httpd:centos .
新镜像运行容器
先看一下
[root@localhost apache]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
19ed00c77db9 centos:7 "/bin/bash" 17 minutes ago Up 17 minutes quizzical_northcutt
fd562f234cca nginx:latest "/docker-entrypoint.…" 57 minutes ago Up 21 minutes 80/tcp cranky_agnesi
[root@localhost apache]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
httpd centos 8ec76c3d831d About a minute ago 419MB
docker new f924115851b5 10 minutes ago 215MB
docker test 13d5c0ea9bc7 12 minutes ago 203MB
nginx web 21d257122e0c 44 minutes ago 131MB
nginx latest c39a868aad02 3 days ago 133MB
centos 7 7e6257c9f8d8 3 months ago 203MB
paigeeworld/centos7 latest 4cbe7aa905e7 6 years ago 382MB
运行
[root@localhost apache]# docker run -d -p 1216:80 httpd:centos
be0fdd9831fe2d8297df535d163eb94f1a7d3e6a5e11e7758cc5b57d7814abc2
看一下,容器运行了
[root@localhost apache]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
be0fdd9831fe httpd:centos "/run.sh" 4 seconds ago Up 3 seconds 0.0.0.0:1216->80/tcp practical_poincare
19ed00c77db9 centos:7 "/bin/bash" 18 minutes ago Up 18 minutes quizzical_northcutt
fd562f234cca nginx:latest "/docker-entrypoint.…" 58 minutes ago Up 22 minutes 80/tcp cranky_agnesi
Docker镜像创建的三种方式详解——dockerfile制作apache镜像相关推荐
- mysql 删除数据表中数据_Mysql-删除数据表-三种方式详解
Mysql 删除数据表的三种方式详解 用法: 1.当你不再需要该表时, 用 drop; 2.当你仍要保留该表,但要删除所有记录时, 用 truncate; 3.当你要删除部分记录或者有可能会后悔的话, ...
- 全站仪与计算机之间的数据传输,必看!全站仪数据传输的三种方式详解,都安排得明明白白(上)...
原标题:必看!全站仪数据传输的三种方式详解,都安排得明明白白(上) 科力达全站仪数据传输 一般而言,全站仪的数据传输方式有三种,分别是通过串口.USB.SD卡三种方式,因为电脑配置等因素的不同,一些数 ...
- 【Linux】部署Springboot项目到Linux服务器以及linux服务器下载文件的三种方式详解
Linux学习之路 初识Linux Linux内核 由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写 Linux 是一套免费使用和自由传播的类Unix操作系 ...
- 多表连接的三种方式详解 HASH JOIN MERGE JOIN NESTED LOOP
在多表联合查询的时候,如果我们查看它的执行计划,就会发现里面有多表之间的连接方式. 之前打算在sqlplus中用执行计划的,但是格式看起来有点乱,就用Toad 做了3个截图. 从3张图里我们看到了几点 ...
- uni-app小程序引入iconfont的三种方式详解(无需下载文件到项目)
重要背景说明 官网iconfont的引入方式有三种分别为:Unicode.Font class.Symbol, 其中已明确说明 Unicode.Font class 这两种引入方式 不支持多色. 单色 ...
- php 多参数函数,php自定义函数的参数在函数间传递的三种方式详解
在调用函数时,需要向函数传递参数,被传入的参数成为实参,而函数定义时的参数为形参.上一章节我们对php自定义函数的参数进行了实例讲解,本章节就重点介绍一下函数间参数传递的3种方式:按照值传递,按引用传 ...
- 【REACT NATIVE 系列教程之四】刷新组件RENDER(重新渲染)的三种方式详解
本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/react-native/2242.html ...
- 删除mysql表_Mysql 删除数据表的三种方式详解
用法: 1.当你不再需要该表时, 用 drop; 2.当你仍要保留该表,但要删除所有记录时, 用 truncate; 3.当你要删除部分记录或者有可能会后悔的话, 用 delete. 删除程度可从强到 ...
- Mysql 删除数据表的三种方式详解
用法: 1.当你不再需要该表时, 用 drop; 2.当你仍要保留该表,但要删除所有记录时, 用 truncate; 3.当你要删除部分记录或者有可能会后悔的话, 用 delete. 删除程度可从强到 ...
最新文章
- DEBIAN vim的语法高亮和自动縮进
- android studio 的AVD Manager点击无响应解决办法
- 高大上的介绍实时流式计算!
- cnn验证码识别代码_中文项目:快速识别验证码,CNN也能为爬虫保驾护航
- IOS开发之格式化日期时间的使用 编程中常见问题
- 电源功耗压力测试软件,开关电源负载测试经验分享——这篇三分钟小文章着实令人“心动”...
- python+mysql库+json_用python写爬虫-5.1json用pandas入mysql库
- 论文浅尝 | Distant Supervision for Relation Extraction
- Dubbo-Admin 正式支持 3.0 服务治理
- 经典面试题(22):以下代码将输出的结果是什么?
- Python_排序算法实现
- 大屏实时监控-2019年CSDN博客之星年度总评选(2019-01-20 23:30)
- 使用 ADSync 集成 IBM Lotus Domino Directory 和 Microsoft Active Directory
- 怎样才算是一个好的老师???
- 全球行业品牌“中国制冷展”将亮相汉渝 寻觅发展新空间
- java中如何插入表格_Java如何向Word文档中添加表格?
- python中取余%
- 计网PPT 第八章 互联网上的音频和视频服务
- C1认证之web基础知识及习题——我的学习笔记
- 【React】React介绍环境搭建