onknows Asked: 2019-09-11 22:24:59 +0800 CST2019-09-11 22:24:59 +0800 CST 2019-09-11 22:24:59 +0800 CST 如何防止系统被“最小化” 772 今天,当我登录到我的 Ubuntu 18.04 docker 容器时,我注意到一条新消息。 通过删除用户未登录的系统上不需要的软件包和内容,该系统已被最小化。 要恢复此内容,您可以运行“取消最小化”命令。 然而,这是我不时登录的容器。 恕我直言,以这种方式在未经用户同意的情况下更改系统并不是一个非常合理的策略,但暂时将其放在一边,我如何防止 Ubuntu 最小化我的系统? 最小化破坏了我的容器的功能,并且unminimize命令以内核错误结束。 container docker 18.04 3 个回答 Voted phlummox 2021-04-05T09:55:37+08:002021-04-05T09:55:37+08:00 回答,因为我没有评论的声誉。 尽管从技术上讲,您不能阻止基于 Docker 的 Ubuntu 安装被最小化(因为 Docker 映像在您拉取它时会以这种方式出现),但您绝对可以撤消它:添加一个调用 yes | unminimize 到你的 Dockerfile。" unminimize" 命令 ( /usr/local/sbin/unminimize) 撤消最小化过程;因为它是交互式的,并且会问一些 " y/n" 问题,所以我们使用 " yes" 命令,它会不断地打印字符串 " y" 直到被杀死。 Best Answer AndyDeGroo 2019-09-13T08:21:53+08:002019-09-13T08:21:53+08:00 并不是 Canonical 在未经用户同意的情况下更改了图像。您得到的是ubuntu-minimal大多数云托管服务提供商和 Docker 等容器使用的预打包。 您可以阅读有关什么是 Minimal Ubuntu 的更多信息。 引用上下文: Minimal Ubuntu 是一组 Ubuntu 映像,专为大规模自动化部署而设计,可在一系列云基础上使用。他们在目标计算基板上使用优化的内核和优化的引导过程。这些图像的默认包集大大减少,没有许多方便的交互使用工具。它们更小,启动速度更快,并且随着时间的推移需要更少的安全更新,因为它们安装的软件包更少。 要回答您的问题 - 您有多个选择: 使用 ubuntu-minimal 以外的东西作为基础镜像 自定义图像以包含您需要的包 Mr. Linux 2022-06-28T19:55:43+08:002022-06-28T19:55:43+08:00 为了防止 docker ubuntu 镜像被最小化,我写的是 dockerfile。请使用以下 dockerfile 内容部署容器。 From ubuntu #Purpose: How to deploy ubuntu container without minimized packages #RUN apt-get install apt-utils -y ENV DEBIAN_FRONTEND noninteractive ENV TZ=Asia/Kolkata DEBIAN_FRONTEND=noninteractive RUN apt-get update && apt install tzdata -y && apt install net-tools vim man file -y RUN yes| unminimize RUN apt-get update -y && apt-get upgrade -y && apt-get install ubuntu-minimal ubuntu-server-minimal -y RUN apt-get install -y vim perl wget tar man sudo adduser netstat-nat net-tools curl w3m RUN useradd -m -s /bin/bash ubuntu RUN usermod -aG sudo ubuntu && echo "ubuntu ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/ubuntu RUN chmod 044 /etc/sudoers.d/ubuntu USER ubuntu:ubuntu WORKDIR /home/ubuntu CMD ["/bin/bash"] #docker run -itd --privileged #type_here_target_image_id /usr/sbin/init #command to run systemctl inside docker container
回答,因为我没有评论的声誉。
尽管从技术上讲,您不能阻止基于 Docker 的 Ubuntu 安装被最小化(因为 Docker 映像在您拉取它时会以这种方式出现),但您绝对可以撤消它:添加一个调用
到你的 Dockerfile。"
unminimize
" 命令 (/usr/local/sbin/unminimize
) 撤消最小化过程;因为它是交互式的,并且会问一些 "y/n
" 问题,所以我们使用 "yes
" 命令,它会不断地打印字符串 "y
" 直到被杀死。并不是 Canonical 在未经用户同意的情况下更改了图像。您得到的是
ubuntu-minimal
大多数云托管服务提供商和 Docker 等容器使用的预打包。您可以阅读有关什么是 Minimal Ubuntu 的更多信息。
引用上下文:
要回答您的问题 - 您有多个选择:
为了防止 docker ubuntu 镜像被最小化,我写的是 dockerfile。请使用以下 dockerfile 内容部署容器。