docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > docker构建好的镜像中安装包

Docker如何在已经构建好的镜像中安装包(核心思路)

作者:NLP的小Y

给已经构建好的 Docker 镜像安装软件包,主要有两种核心思路:一种是基于原有镜像构建一个新镜像,另一种是临时进入容器进行安装,本文给大家详细介绍Docker如何在已经构建好的镜像中安装包,感兴趣的朋友一起看看吧

核心思路

给已经构建好的 Docker 镜像安装软件包,主要有两种核心思路:一种是基于原有镜像构建一个新镜像,另一种是临时进入容器进行安装。

方法一:使用Dockerfile构建新镜像(推荐)

这是最符合Docker最佳实践的方法,具有可重复性、易于版本管理。

  1. 准备Dockerfile:在一个空目录中,创建一个名为 Dockerfile 的文件。假设你原有的镜像名为 my-existing-image:tag。
# 使用你已有的镜像作为基础
FROM my-existing-image:tag
# 安装你需要的软件包,这里以安装vim和curl为例
# 如果基础镜像基于Ubuntu/Debian
RUN apt-get update && apt-get install -y \
    vim \
    curl \
    && rm -rf /var/lib/apt/lists/*
# 如果基础镜像基于CentOS/RHEL/AlmaLinux
# RUN yum update -y && yum install -y \
#    vim \
#    curl \
#    && yum clean all

请注意:需要根据基础镜像使用的Linux发行版,选用正确的包管理命令(如apt-get或yum)。

  1. 构建新镜像:打开终端,进入包含Dockerfile的目录,执行构建命令。
docker build -t my-new-image:with-vim .

命令末尾的 . 表示使用当前目录下的Dockerfile。-t 参数为新镜像打上标签。

  1. 使用新镜像:构建完成后,就可以像使用其他镜像一样使用这个新的镜像了。
docker run -it my-new-image:with-vim

方法二:进入运行中的容器临时安装

这种方法非常适合快速测试和调试,但改动通常是临时的。

  1. 启动并进入容器:如果你的容器还未运行,首先启动它。使用 docker exec 命令进入一个正在运行的容器。
# 启动容器(如果未运行)
docker run -it --name my-container my-existing-image:tag bash
# 或者进入一个已在运行的容器
docker exec -it my-container bash

-it 参数为你提供一个交互式的终端。

  1. 在容器内安装包:进入容器后,你就可以像在一台普通的Linux机器上一样安装软件包了。
# 在基于Ubuntu/Debian的容器内
apt-get update
apt-get install -y vim
# 在基于CentOS/RHEL的容器内
yum update -y
yum install -y vim
  1. (可选)提交更改以保存为新镜像:如果你希望将这次临时安装的改动永久保存下来,可以将其提交为一个新的镜像。
docker commit my-container my-saved-image:with-changes

之后,就可以通过 my-saved-image:with-changes 这个新镜像来启动一个包含所有已安装包的容器了。

到此这篇关于Docker如何在已经构建好的镜像中安装包(核心思路)的文章就介绍到这了,更多相关docker构建好的镜像中安装包内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文