当前位置: 首页 > news >正文

Linux:docker镜像的创建(5)

1.基于已有镜像创建 

 步骤:

1.将原始镜像加入容器并运行

2.在原始镜像中部署各种服务

3.退出容器

4.使用下面命令将容器生成新的镜像

 现在我们在这个容器里做了一些配置,我们要把他做成自己镜像

docker commit -m "centos7_123" -a "tarro" 6025e38d6e59 docker:centos7
# docker commit -m "说明"      -a "作者"   基于容器ID    生成后的镜像名称和标签

执行完docker commit 以后就会通过容器制作一个镜像了

docker inspect 镜像ID

就能看到详细的信息了,比如作者什么的


2.基于本地模板创建

 Download/template/precreated - OpenVZ Virtuozzo Containers Wikiicon-default.png?t=N7T8https://wiki.openvz.org/Download/template/precreated下载一个模板

我这里随便下了个debian的模板并导入了系统中

cat debian-7.0-x86_64-minimal.tar.gz | docker import - docker:debain
# cat 模板                           | docker import - 创建的镜像名和标签


3.基于Dockerfile创建

我们要创建一个http的容器,需要使用到ftpyum仓库

我们要使用这个centos镜像

首先先去编译Dockerfile

vim Dockerfile

写入

#设置基础镜像
FROM centos

#维护该镜像的用户信息
MAINTAINER tarro

#设置本地yum源
RUN mkdir /etc/yum.repos.d/bak ; mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak

ADD centos.repo /etc/yum.repos.d/centos.repo

#清除缓存
RUN yum clean all

# 安装apache服务
RUN yum -y install httpd

#开启端口80
EXPOSE 80

#复制位置网站首页文件
ADD index.html /var/www/html/index.html

#复制执行脚本到镜像中
ADD run.sh /run.sh

RUN chmod 755 /run.sh 

#启动容器时执行脚本(制作镜像中不运行)
CMD ["/run.sh"]
vim run.sh

写入

#!/bin/bash
# 清理httpd的缓存
rm -fr /run/httpd/*
# 启动apache服务
exec /usr/sbin/apachectl -D FOREGROUND
echo "hello world" > index.html
vim centos.repo

写入

[123]
name=123
baseurl=ftp://192.168.6.1/ck
enabled=1
gpgcheck=0

在上面的dockerfile中使用到了,yum仓库,网页,还有一个shell脚本用来设置同容器一起启动,编写完以后即可开始制作

docker run -d -p 8888:80 --name httpd apache:ly

开启一下,再进行一个端口转换看看效果

相关文章:

  • PHP:js中怎么使用PHP变量,php变量为数组时的处理
  • C#图像处理OpenCV开发指南(CVStar,04)——图片像素访问与多种局部放大效果的实现代码
  • 试用程序实现不使用缓存字节数组的方法复制C盘根目录下的a,jpg到E盘下的a.jpg
  • 数据结构与算法之递归: LeetCode 46. 全排列 (Typescript版)
  • Linux系统编程--文件操作函数
  • Vue 3 面试经验分享
  • Docker的数据持久化;Docker网络;Dockerfile编写
  • 传音荣获2023首届全国人工智能应用场景创新挑战赛“智能家居专项赛”三等奖
  • 如何把ipa文件(iOS安装包)安装到iPhone手机上? 附方法汇总
  • Springboot+vue的新冠病毒密接者跟踪系统(有报告)。Javaee项目,springboot vue前后端分离项目
  • Android 13.0 Launcher3 禁止首屏时钟部件拖动到其他屏
  • visual studio 2022 更改字体和大小
  • c 语言常见的易错题分析
  • localForage使用 IndexedDB / WebSQL存储
  • 数据结构---堆
  • 火柴人版王者-Java
  • JavaWeb后端数据库MySQL的使用
  • 【Qt之QFileInfo】使用
  • 智慧城市运营管理平台解决方案:PPT全文61页,附下载
  • java游戏制作-王者荣耀游戏
  • 女外交官郑璇已任中国驻莫桑比克大使
  • 从《让·桑特伊》到《追忆》,假故事的胜利
  • “异常”只停留在医院里,用艺术为“泡泡宝贝”加油
  • 中国至越南河内国际道路运输线路正式开通
  • AI含量非常高,2025上海教育博览会将于本周五开幕
  • 美国明尼苏达州发生山火,过火面积超80平方公里