一开始Dockerfile内容如下:
# 使用官方CentOS镜像作为基础镜像
FROM centos:7
# 安装telnet
RUN yum -y update && yum clean all && \
yum -y install telnet && \
yum clean all
# 安装ping
RUN yum -y update && yum clean all && \
yum -y install iputils && \
yum clean all
# 设置工作目录
WORKDIR /
# 设置启动时执行的命令
CMD ["/bin/bash"]
报如下错误,
后来想着Centos已经不继续维护了,换了基础镜像为ubuntu,内容如下
FROM ubuntu:latest
# 安装ping和telnet工具
RUN apt-get update && apt-get install -y iputils-ping telnet
执行仍然报错
查了一下,说是DNS问题,因此创建了resolv.conf文件,内容如下:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1
#这里用的是阿里云的DNS服务器
nameserver 223.5.5.5
nameserver 223.6.6.6
修改Dockerfile,
FROM ubuntu:latest
COPY resolv.conf /etc/resolv.conf
# 安装ping和telnet工具
RUN apt-get update && apt-get install -y iputils-ping telnet
重新构建,还是报相同错误,修改源
FROM ubuntu:latest
COPY resolv.conf /etc/resolv.conf
RUN sed -i 's#http://archive.ubuntu.com/#http://mirrors.tuna.tsinghua.edu.cn/#' /etc/apt/sources.list && \
apt-get update && \
apt-get install -y iputils-ping telnet
继续执行,仍然报错
后来修改了一下,改为使用如下命令构建,
执行成功。 docker build --network host -t ubuntu-telnet-ping