广告
返回顶部
首页 > 资讯 > 精选 >CentOS7下怎么制作Docker镜像
  • 378
分享到

CentOS7下怎么制作Docker镜像

2023-06-28 01:06:47 378人浏览 薄情痞子
摘要

本篇内容介绍了“Centos7下怎么制作Docker镜像”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Docker Image 的制作两种方

本篇内容介绍了“Centos7下怎么制作Docker镜像”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

CentOS7下怎么制作Docker镜像
  • Docker Image 的制作两种方法

    方法 1:docker commit #保存 container 的当前状态到 image 后,然后生成对应的 image方法 2:docker build #使用 Dockerfile 文件自动化制作 image

    方法一:docker commit

    创建一个安装好 apache 工具容器镜像

    [root@Docker ~]# docker imagesREPOSITORY          TAG                 IMAGE ID            CREATED             SIZEcentos              latest              470671670cac        4 months aGo        237MB[root@Docker ~]# docker psCONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES[root@Docker ~]# docker run -it centos:latest /bin/bash[root@1b96e68a3cce /]#[root@1b96e68a3cce /]# yum -y install Httpd #在 container 中安装 apache 软件包[root@1b96e68a3cce /]# exit

    查看 images 列表

    [root@Docker ~]# docker imagesREPOSITORY          TAG                 IMAGE ID            CREATED             SIZEcentos              latest              470671670cac        4 months ago        237MB

    根据容器当前状态做一个 image 镜像:创建一个安装了 apache 工具的 centos 镜像

    语法: docker commit “container 的 ID” 或 “image_name”

    查看容器 ID

    [root@Docker ~]# docker ps -aCONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                        PORTS               NAMES1b96e68a3cce        centos:latest       "/bin/bash"              3 minutes ago       Exited (0) 2 minutes ago                          awesome_hypatia607752360adf        centos:latest       "/bin/bash -c 'while…"   18 minutes ago      Exited (137) 12 minutes ago                       brave_fermi0a297ff99af8        centos:latest       "/bin/bash"              22 minutes ago      Exited (1) 20 minutes ago                         ecstatic_yonathefb4af688330        centos:latest       "/bin/bash"              24 minutes ago      Exited (0) 23 minutes ago                         epic_mcclintock[root@Docker ~]# docker commit 1b96e68a3cce centos:apachesha256:b8822ec8a7bbb325793e7908e355180be82a49481cff197661fb5d0da5872e88[root@Docker ~]# docker imagesREPOSITORY          TAG                 IMAGE ID            CREATED             SIZEcentos              apache              b8822ec8a7bb        9 seconds ago       280MBcentos              latest              470671670cac        4 months ago        237MB

    使用新创建的 centos:apache 镜像,生成一个容器实例

    [root@Docker ~]# docker run -it centos:apache /bin/bash[root@e4c295d27581 /]# rpm -qa httpdhttpd-2.4.37-16.module_el8.1.0+256+ae790463.x86_64

    看到httpd软件名称说明基于 apache 镜像的容器创建成功

    方法二:通过:docker build 创建一个基于 centos 的 httpd WEB 服务器镜像

    使用 docker build 创建镜像时,需要使用 Dockerfile 文件自动化制作 image 镜像 Dockerfile 有点像源码编译时./configure 后产生的 Makefile

    1、创建工作目录

    [root@Docker ~]# mkdir /docker-build[root@Docker ~]# cd /docker-build[root@Docker docker-build]# touch Dockerfile[root@Docker docker-build]# lsDockerfile注: make 自动化编译时需要 Makefile 文件,自动化创建 docker 镜像时,需要 Dockerfile

    2、编辑 Dockerfile

    Dockerfile 用来创建一个自定义的 image,包含了用户挃定的软件依赖等。[root@Docker docker-build ]# vim DockerfileFROM centos:latestMAINTAINERRUN yum -y install httpdADD start.sh /usr/local/bin/start.shADD index.html /var/www/html/index.htmlCMD echo hello world

    注释

    FROM centos:latest # FROM 基于哪个镜像MAINTAINER  # MAINTAINER 镜像创建者RUN yum -y install httpd #RUN 安装软件用ADD start.sh /usr/local/bin/start.shADD index.html /var/www/html/index.html# ADD 将文件拷贝到新产生的镜像的文件系统对应的路径。所有拷贝到新镜像中的文件和文件夹权限为 0755,uid 和 gid 为 0CMD echo hello world #container 启动时执行的命令或启动服务,但是一个 Dockerfile 中只能有一条 CMD 命令,有多条则另执行最后一条 CMD

    3、创建 start.sh 脚本启动 httpd 服务和 apache 默认首页 index.html 文件

    [root@Docker docker-build ]# echo "#!/bin/bash" >> start.sh[root@Docker docker-build ]# echo "/usr/sbin/httpd -DFOREGROUND" >> start.sh注:/usr/sbin/httpd -DFOREGROUND 相当于执行了 systemctl start httpd[root@Docker docker-build ]# chmod a+x start.sh创建 index.html[root@Docker docker-build ]# echo "docker image build  test from jaking" > index.html

    4、使用命令 build 来创建新的 image

    语法:docker build -t 父镜像名:镜像的 tag Dockerfile 文件所在路径 -t :表示 tag,镜像名

    例:使用命令 docker build 来创建新的 image,并命名为 centos:httpd

    [root@Docker docker-build]# lsDockerfile  index.html  start.sh[root@Docker docker-build]# docker build -t centos:httpd ./# 注: ./ 表示当前目录,另外你的当前目录下要包含 DockerfileSending build context to Docker daemon  4.096kBStep 1/5 : FROM centos:latest ---> 470671670cacStep 2/5 : MAINTAINER  ---> Running in 0180810d2ab3Removing intermediate container 0180810d2ab3 ---> 5b9af0184bcfStep 3/5 : RUN yum -y install httpd ---> Running in 8f5c114649edCentOS-8 - AppStream                            228 kB/s | 7.0 MB     00:31    CentOS-8 - Base                                 547 kB/s | 2.2 MB     00:04    CentOS-8 - Extras                               431  B/s | 5.9 kB     00:14    Dependencies resolved.================================================================================ Package           Arch   Version                               Repo       Size================================================================================Installing: httpd             x86_64 2.4.37-16.module_el8.1.0+256+ae790463 AppStream 1.7 MInstalling dependencies: apr               x86_64 1.6.3-9.el8                           AppStream 125 k apr-util          x86_64 1.6.1-6.el8                           AppStream 105 k centos-logos-httpd                   noarch 80.5-2.el8                            AppStream  24 k ...省略部分输出信息...                Complete!Removing intermediate container 8f5c114649ed ---> 040b5f229962Step 4/5 : ADD start.sh /usr/local/bin/start.sh ---> 11a106005031Step 5/5 : ADD index.html /var/www/html/index.html ---> 85b4a3657cedSuccessfully built 85b4a3657cedSuccessfully tagged centos:httpd

    查看 images 列表

    [root@Docker docker-build]# docker imagesREPOSITORY          TAG                 IMAGE ID            CREATED             SIZEcentos              httpd               85b4a3657ced        45 seconds ago      280MBcentos              apache              b8822ec8a7bb        20 minutes ago      280MBcentos              latest              470671670cac        4 months ago        237MB# 注:docker 镜像=应用/程序+库

    运行新生成的镜像

    [root@Docker docker-build]# docker run -it centos:httpd /bin/bash [root@1188a43a4585 /]# lsbin  etc   lib    lost+found  mnt  proc  run   srv  tmp  vardev  home  lib64  media       opt  root  sbin  sys  usr[root@1188a43a4585 /]# rpm -qa httpdhttpd-2.4.37-16.module_el8.1.0+256+ae790463.x86_64[root@1188a43a4585 /]# exitexit[root@Docker docker-build]#

“CentOS7下怎么制作Docker镜像”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: CentOS7下怎么制作Docker镜像

本文链接: https://www.lsjlt.com/news/315244.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • CentOS7下怎么制作Docker镜像
    本篇内容介绍了“CentOS7下怎么制作Docker镜像”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Docker Image 的制作两种方...
    99+
    2023-06-28
  • docker制作镜像
    从 rootfs 压缩包导入格式:docker import [选项] <文件>|<URL>|- [<仓库名>[:<标签>]]压缩包可以是本地文件、远程 Web 文件,甚至是从标准输入中得到。...
    99+
    2023-01-30
    镜像 docker
  • Docker中怎么样制作镜像
    小编给大家分享一下Docker中怎么样制作镜像,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言以制作CentOS镜像为例,讲述对镜像自定义,打包以及推送的远程仓...
    99+
    2023-06-25
  • Dockerfile制作jdk17镜像(Centos7)
    1.创建目录并下载jdk17 mkdir -p /usr/local/dockerjdk17 cd /usr/local/dockerjdk17 wget https://download.oracle.com/java/17/latest...
    99+
    2023-08-18
    linux java docker
  • 怎么快速制作Redis Docker镜像
    这篇文章主要讲解了“怎么快速制作Redis Docker镜像”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么快速制作Redis Docker镜像”吧!镜像制作镜像越小,部署起来越方便。在这...
    99+
    2023-06-15
  • docker中怎么用build制作镜像
    在Docker中,可以使用`docker build`命令来制作镜像。 首先,在项目的根目录下创建一个名为`Dockerfile`的...
    99+
    2023-10-26
    docker
  • Docker二所镜像制作
    1、dockerfile 里不能有交互式命令。      FROM centos:6.9  加载镜像     &...
    99+
    2022-10-18
  • trove 基于 centos7 制作 mysql5.5 镜像
    本文档是手动制作mysql5.5的trove镜像openstack版本为newton1、创建基础虚拟机登录openstack创建一台虚拟机,这台虚拟机用于制作trove镜像,虚拟机的根磁盘最终会上传到gla...
    99+
    2022-10-18
  • trove 基于 centos7 制作 mysql5.6 镜像
    本文档是手动制作mysql5.6的trove镜像openstack版本为newton1、创建基础虚拟机登录openstack创建一台虚拟机,这台虚拟机用于制作trove镜像,虚拟机的根磁盘最终会上传到gla...
    99+
    2022-10-18
  • Docker镜像制作方法是什么
    Docker镜像制作方法是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Docker Image 的制作两种方法方法 1:docker commit&n...
    99+
    2023-06-28
  • 如何在shell制作Docker镜像
    小编给大家分享一下如何在shell制作Docker镜像,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!尝试在shell制作Docker镜像 $ ...
    99+
    2023-06-02
  • 使用docker怎么制作分布式lnmp 镜像
    这期内容当中小编将会给大家带来有关使用docker怎么制作分布式lnmp 镜像,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、docker 分布式 lnmp 镜像制作1、运行Nginx、MySQL、PH...
    99+
    2023-06-15
  • 怎么用docker Dockerfile文件制作自己的镜像
    本文小编为大家详细介绍“怎么用docker Dockerfile文件制作自己的镜像”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么用docker Dockerfile文件制作自己的镜像”文章能帮助大家解...
    99+
    2022-10-19
  • Docker制作镜像的完整过程
    目录前言创建步骤创建CentOS基础镜像创建容器并自定义以自定义容器创建新镜像保存、加载镜像tar包将镜像推送到远程仓库参考链接前言 以制作CentOS镜像为例,讲述对镜像自定义,打...
    99+
    2022-11-12
  • 使用docker制作分布式lnmp 镜像
    目录一、docker 分布式 lnmp 镜像制作1、运行Nginx、MySQL、PHP容器2、修改Nginx配置文件和PHP文件4、进行测试LNMP 是代表 Linux 系统下的 N...
    99+
    2022-11-12
  • Linux系统下怎么制作ISO镜像文件
    这篇文章主要介绍“Linux系统下怎么制作ISO镜像文件”,在日常操作中,相信很多人在Linux系统下怎么制作ISO镜像文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux系统下怎么制作ISO镜像文件...
    99+
    2023-06-10
  • docker怎么创建镜像
    创建Docker镜像的步骤如下:1. 编写Dockerfile:创建一个文本文件,命名为Dockerfile,并在其中描述镜像的构建...
    99+
    2023-09-16
    docker
  • docker怎么拉取镜像
    这篇文章主要为大家展示了“docker怎么拉取镜像”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“docker怎么拉取镜像”这篇文章吧。拉取镜像docker&nb...
    99+
    2022-10-19
  • docker制作mysql镜像并自动安装脚本怎么写
    本文小编为大家详细介绍“docker制作mysql镜像并自动安装脚本怎么写”,内容详细,步骤清晰,细节处理妥当,希望这篇“docker制作mysql镜像并自动安装脚本怎么写”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知...
    99+
    2023-06-30
  • 怎么将dockerfile制作好的镜像发布到Docker hub上
    这篇文章主要介绍了怎么将dockerfile制作好的镜像发布到Docker hub上,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。首先您得在docker hub上注册一个帐号...
    99+
    2023-06-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作