通常,我们把开源的一些docker镜像拉取下来之后,由于镜像都比较轻量化,许多基础的工具和命令行工具可能并未预安装在容器中,比如vi、ifconfig、ps等。下面介绍一下如何在docker中安装这些软件:

安装软件的基本步骤

在Docker容器中安装软件的过程通常包括以下几个步骤:

  1. 换源:首先,默认源在国内访问比较慢,可以更换为国内源来提升速度。
  2. 更新包管理器:使用包管理器更新软件包索引。
  3. 安装所需软件:通过包管理器安装缺少的软件。

下面,我们以具体的例子来说明这些步骤。

换源

以debian系统来举例,其他系统可以到网上搜索一下怎么换源

首先进入容器,然后执行下面的命令:

sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list.d/debian.sources

更新包管理器

接下来,更新包管理器,以确保我们可以获取到最新的软件包:

apt-get update

安装缺少的软件

接下来,我们安装需要的软件。例如,安装vi、net-tools(包含ifconfig命令)和procps(包含ps命令):

apt-get install -y vim net-tools procps
  • vim:安装vi文本编辑器。
  • net-tools:安装网络工具包,其中包括ifconfig命令。
  • procps:安装进程管理工具包,其中包括ps命令。

验证安装

安装完成后,可以通过以下命令验证软件是否安装成功:

vi --version ifconfig --version ps --version

下面附上完整的脚本:

把内容保存为init_docker.sh,然后执行下面的命令:

sh init_docker.sh docker容器关键词
if [ -z "$1" ]; then
  echo "Usage: $0 <keyword>"
  exit 1
fi

# 获取关键词
KEYWORD=$1

# 获取容器ID
CONTAINER_ID=$(docker ps -q --filter "name=$KEYWORD")

# 检查是否找到容器
if [ -z "$CONTAINER_ID" ]; then
  echo "No container found with keyword: $KEYWORD"
  exit 1
fi

# 进入容器并执行命令
docker exec -it $CONTAINER_ID /bin/bash -c "
  sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list.d/debian.sources && \
  apt-get update && \
  apt install -y vim net-tools procps
"

总结

在Docker容器中安装缺少的软件,如vi、ifconfig、ps等,是一个简单但非常有用的操作。通过这些步骤,您可以定制您的容器环境,使其更加适合您的开发和运维需求。希望这篇博客对您有所帮助,如果有任何问题或需要进一步的帮助,请随时留言讨论。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注