Docker 安装 Ubuntu
用容器跑一个 Ubuntu 环境,以及从零构建 Ubuntu 基础镜像。
Key Pointsdocker run -it ubuntu 就是一台秒级可用的 Ubuntu;需要定制就写 Dockerfile,用 apt 装包。
拉取与运行
Bash
docker pull ubuntu:24.04
docker run -it ubuntu:24.04 bash
# 容器里
cat /etc/os-release
apt-get update && apt-get install -y curl
exit构建自己的 Ubuntu 镜像
Dockerfile
FROM ubuntu:24.04
ENV DEBIAN_FRONTEND=noninteractive \
LANG=C.UTF-8 \
TZ=Asia/Shanghai
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates curl git vim tzdata \
&& rm -rf /var/lib/apt/lists/*
RUN useradd -m -s /bin/bash dev
USER dev
WORKDIR /home/dev
CMD ["bash"]Bash
docker build -t myubuntu:24.04 .
docker run -it --rm myubuntu:24.04几个注意点
DEBIAN_FRONTEND=noninteractive防止 apt 卡在交互提问- 装完删
/var/lib/apt/lists/*,能省几十 MB --no-install-recommends只装必需包- 要跑服务就把
CMD换成前台进程,别用service start
Do not run systemd or
service inside containers. One process per container, in the foreground, with Docker handling restarts.拉取与运行
Bash
docker pull ubuntu:24.04
docker run -it ubuntu:24.04 bash
# 容器里
cat /etc/os-release
apt-get update && apt-get install -y curl
exit构建自己的 Ubuntu 镜像
Dockerfile
FROM ubuntu:24.04
ENV DEBIAN_FRONTEND=noninteractive \
LANG=C.UTF-8 \
TZ=Asia/Shanghai
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates curl git vim tzdata \
&& rm -rf /var/lib/apt/lists/*
RUN useradd -m -s /bin/bash dev
USER dev
WORKDIR /home/dev
CMD ["bash"]Bash
docker build -t myubuntu:24.04 .
docker run -it --rm myubuntu:24.04几个注意点
DEBIAN_FRONTEND=noninteractive防止 apt 卡在交互提问- 装完删
/var/lib/apt/lists/*,能省几十 MB --no-install-recommends只装必需包- 要跑服务就把
CMD换成前台进程,别用service start
容器里不要用 systemd / service 管理进程。一个容器一个进程,进程在前台跑,由 Docker 负责重启。