创建一个安装了ifconfig、telnet、curl、nc、traceroute、ping、nslookup等网络工具的镜像,便于集群中的测试。
创建一个Dockerfile文件
# 使用代理下载 Ubuntu 镜像作为基础
FROM docker.m.daocloud.io/library/ubuntu:latest
# 设置环境变量 DEBIAN_FRONTEND 为 noninteractive,避免安装过程中出现交互式提示
ENV DEBIAN_FRONTEND=noninteractive
# 更新 Ubuntu 软件源并安装所需的网络工具
RUN apt-get update && \
apt-get install -y net-tools telnet curl netcat-traditional traceroute iputils-ping dnsutils && \
apt-get clean
# 设置工作目录,这一步可以根据实际情况选择是否需要
WORKDIR /app
# 可选:添加一些额外的配置或拷贝一些文件到镜像中
# COPY . .
# 可选:定义容器启动时执行的默认命令
CMD ["/bin/bash"]
运行docker build -t core.harbor.shell.com:443/library/nettools:v1 . 命令,其中core.harbor.shell.com:443为自建的harbor仓库,你也可以起名为别的仓库,根据个人情况设置镜像名称。
然后将镜像上传到仓库docker push core.harbor.shell.com:443/library/nettools:v1
在用nerdctl下拉运行镜像
sudo nerdctl pull core.harbor.shell.com:443/library/nettools:v1
sudo nerdctl run -it --name nettools --network=host core.harbor.shell.com:443/library/nettools:v1
如果运行起来应该直接进入镜像的容器里了
也可以通过命令查看镜像运行情况
sudo nerdctl ps
//说心里话,docker现在使用第三方工具管理容器后,操作变得复杂多了,自我感觉不如以前可用docker命令操作一切方便,也许是我现在还没用熟悉,不过确实感觉怪怪的。