无法在 docker 容器中找到包 apt-get
Unable to locate package apt-get in docker container
我正在尝试在 docker 中创建一个容器;它通常工作得很好,但我突然 运行 遇到了一个我知道如何解决的问题。
FROM ubuntu:14.04
RUN apt-get update && \
apt-get upgrade -y \
apt-get install -y openssh-server && \
mkdir /var/run/sshd
RUN echo root:root | chpasswd
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]
当它进入 apt-get update 时会抛出以下错误:
- E: 无法找到软件包 apt-get
- E: 无法定位软件包安装
如果图像是基于标准 ubuntu 14.04,这怎么可能?
这行得通。
FROM ubuntu
RUN apt-get update -y
RUN apt-get upgrade -y
RUN apt-get install -y openssh-server
RUN mkdir /var/run/sshd
RUN echo root:root | chpasswd
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]
您没有使用 &&
结束 apt-get upgrade 命令,因此它尝试在下一行安装 "packages"。我喜欢将我的 &&
放在每一行的开头,因为它更容易让我看到何时发生(并使 copy/paste 更容易一些):
FROM ubuntu:14.04
RUN apt-get update \
&& apt-get upgrade -y \
&& apt-get install -y \
openssh-server \
&& mkdir /var/run/sshd
RUN echo root:root | chpasswd
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]
我正在尝试在 docker 中创建一个容器;它通常工作得很好,但我突然 运行 遇到了一个我知道如何解决的问题。
FROM ubuntu:14.04
RUN apt-get update && \
apt-get upgrade -y \
apt-get install -y openssh-server && \
mkdir /var/run/sshd
RUN echo root:root | chpasswd
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]
当它进入 apt-get update 时会抛出以下错误:
- E: 无法找到软件包 apt-get
- E: 无法定位软件包安装
如果图像是基于标准 ubuntu 14.04,这怎么可能?
这行得通。
FROM ubuntu
RUN apt-get update -y
RUN apt-get upgrade -y
RUN apt-get install -y openssh-server
RUN mkdir /var/run/sshd
RUN echo root:root | chpasswd
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]
您没有使用 &&
结束 apt-get upgrade 命令,因此它尝试在下一行安装 "packages"。我喜欢将我的 &&
放在每一行的开头,因为它更容易让我看到何时发生(并使 copy/paste 更容易一些):
FROM ubuntu:14.04
RUN apt-get update \
&& apt-get upgrade -y \
&& apt-get install -y \
openssh-server \
&& mkdir /var/run/sshd
RUN echo root:root | chpasswd
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]