創建一個安裝了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命令操作一切方便,也許是我現在還沒用熟悉,不過確實感覺怪怪的。