千家信息网

Docker中怎么样制作镜像

发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,小编给大家分享一下Docker中怎么样制作镜像,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言以制作CentOS镜像为例
千家信息网最后更新 2025年02月23日Docker中怎么样制作镜像

小编给大家分享一下Docker中怎么样制作镜像,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

    前言

    以制作CentOS镜像为例,讲述对镜像自定义,打包以及推送的远程仓库的过程,步骤都比较简单可以快速上手。

    创建步骤

    创建CentOS基础镜像

    创建构建目录和Dockerfile,在Dockerfile中编辑镜像相关设置。

    echo "在当前用户目录下创建创建目录docker/build/centos_7.8.2003" > /dev/nullmkdir -p ~/docker/build/centos_7.8.2003echo "创建Dockerfile到~/docker/build/centos_7.8.2003目录下" > /dev/nullcat > ~/docker/build/centos_7.8.2003/Dockerfile << EOF # 指定基础镜像FROM centos:7.8.2003# 设置环境变量ENV LANG=zh_CN.UTF-8 \\    LANGUAGE=zh_CN:zh \\    LC_ALL=zh_CN.UTF-8# 只在构建镜像的时候执行这些shell指令RUN yum update -y && \\    yum reinstall -y glibc-common && \\    yum install -y telnet net-tools && \\    yum clean all && \\    rm -rf /tmp/* rm -rf /var/cache/yum/* && \\    localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8 && \\    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtimeEOF

    参考菜鸟教程 - docker build构建镜像,格式为docker build -t <镜像名>:<镜像版本号> ,不写镜像版本号默认latest

    # 解析~/docker/build/centos_7.8.2003/Dockerfile构建名为base-centos的镜像docker build -t base-centos ~/docker/build/centos_7.8.2003

    构建完成后可以在本地镜像列表中看到,使用的基础镜像和构建生成的新镜像。

    docker images

    创建容器并自定义

    使用使用新镜像创建并进入容器,这个容器就是一个虚拟CentOS系统。

    echo "用base-centos镜像创建容器,并命名为base-centos" > /dev/nulldocker run \--name base-centos \--privileged=true \-dit \base-centos \/usr/sbin/initecho "进入centos容器" > /dev/nulldocker exec -it base-centos /bin/bash

    对容器中虚拟系统自定义,比如安装常用的工具。其实这些也是可以写在Dockerfile中的,定义在RUN指令后。

    echo "vim:编辑文件" > /dev/nullyum install -y vimecho "lsof:方便查看端口信息" > /dev/nullyum install -y lsofecho "wget:文件下载" > /dev/nullyum install -y wgetecho "tree:查看目录结构" > /dev/nullyum install -y treeecho "安装python" > /dev/nullyum install -y python-develecho "C的编译环境" > /dev/nullyum install -y gcc gcc-c++yum install -y zlibyum install -y zlib-develyum install -y tcl  build-essential tk gettext

    以自定义容器创建新镜像

    命令格式为docker commit <容器名称或者ID> <生成的镜像名>:<镜镜像版本号>,不写镜像版本号默认latest。创建时这个容器也可以是停止状态。

    docker commit base-centos centos:7.8.2003_v1

    到此镜像就创建完成了,在镜像列表可以看到新镜像。

    保存、加载镜像tar包

    将镜像保存为tar包,格式为docker save -o <文件名> <镜像名>:<镜像标签>,参考菜鸟教程 - docker save。

    docker save -o ~/docker/build/centos_7.8.2003/centos_7.8.2003.tar centos:7.8.2003_v1

    加载tar包生成镜像。

    docker load --input ~/docker/build/centos_7.8.2003/centos_7.8.2003.tar

    已存在重复镜像执行加载命令无效。

    将镜像推送到远程仓库

    docker登陆远程仓库。格式为docker login --username=<用户名> <仓库地址>或者docker login -u <用户名> -p <密码> <仓库地址>

    docker tag <镜像ID> <远程镜像仓库地址>:<镜像版本号>标记后。

    echo "标记镜像地址和版本号" > /dev/nulldocker tag 66b1bc81e1f2 registry.cn-shanghai.aliyuncs.com/exposure/centos:7.8.2003_v1

    docker push <远程镜像仓库地址>:<镜像版本号>推送到远程仓库。

    echo "推送到远程仓库" > /dev/nulldocker push registry.cn-shanghai.aliyuncs.com/exposure/centos:7.8.2003_v1

    以上是"Docker中怎么样制作镜像"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

    镜像 容器 仓库 目录 格式 制作 基础 版本 篇文章 参考 内容 命令 指令 教程 文件 标记 步骤 环境 系统 菜鸟教程 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络道德与网络安全课件 前瞻数据库会员开通了怎么退 没买数据库wos号怎么查询 欧阳建权网络安全 宇信科技是互联网服务股 明日之后怎么老是服务器中断连接 福州启鼎网络技术有限公司 存储服务器控制器 学习网页设计软件开发 筑客网络技术财务报表 倪光南网络技术 工业软件开发工程师待遇 如何让网络安全模式有声音 网络技术带来的红利 安徽工业软件开发哪家实惠 基于过程的软件开发心得 梁艺云 为想互联网科技 我国的网络安全主题 扬州网络技术服务 如何用社交软件开发国外客户 杭州手机软件开发五年薪资 互联网科技与政府治理社科院 计算机网络技术专业大学规划 爬虫存入数据库 华为服务器如何连接wifi 软件开发 规定 存储设备和数据库的区别 金山区网络安全质量服务 服务器端口的企业管理器在哪 中国网络技术学院是什么学校
    0