FROM ubuntu:bionic
ENV NGINX_VERSION 1.14.0-0ubuntu1.9
RUN apt-get update && apt-get install -y curl
RUN apt-get update && apt-get install -y nginx=$NGINX_VERSION
CMD ["nginx", "-g", "daemon off;"]
尝试创建自定义 nginx docker 映像但出现错误:
E: Version '1.14.0-0ubuntu1.9' for 'nginx' was not found
The command '/bin/sh -c apt-get update && apt-get install -y nginx=$NGINX_VERSION' returned a non-zero code: 100
答案1
apt
存储库通常只有给定版本的单个版本的包;就你而言,存储库当前提供该软件包bionic
的版本 1.14.0-0ubuntu1.11nginx
。
实际上,这意味着您应该按如下方式编写容器文件:
FROM ubuntu:bionic
RUN apt-get update && apt-get install -y curl
RUN apt-get update && apt-get install -y nginx
CMD ["nginx", "-g", "daemon off;"]
apt-get
事实上,您可以通过合并两条线来保存图层:
RUN apt-get update && apt-get install -y curl nginx
看为什么以前版本的 Debian 软件包会在软件包存储库中消失? (与版本控制系统配置高度相关)了解详情; Ubuntu 存储库具有相同的行为。