ubuntu 容器制作

制作 Ubuntu 容器,主要根据你的具体需求来选择合适的工具:LXC/LXD 适合构建一个完整的、类 似虚拟机的系统环境,而 Docker 则擅长打包和运行单个应用。

主流方案的对比

ubuntu 容器制作

制作 Docker 应用容器

Docker是“应用容器”的行业标准,它通过一个文本文件(Dockerfile)来精确控制镜像 的构建,能保证应用在任何地方运行时的环境都是一致的。

安装 Docker

在Ubuntu主机上执行以下命令完成安装:

sudo apt update && sudo apt install docker.io -y
sudo systemctl start docker && sudo systemctl enable docker
sudo usermod -aG docker ${USER} # 将当前用户加入docker组,之后可能需重新登录

编写 Dockerfile

创建一个新目录,并在其中新建一个名为 Dockerfile(无后缀)的文件,内容如下:

# 1. 指定基础镜像,这里使用 Ubuntu 22.04 官方镜像
FROM ubuntu:22.04

# 2. 设置环境变量,避免交互式操作提示
ENV DEBIAN_FRONTEND=noninteractive

# 3. 更新软件源,安装所需软件(如 vim, curl),并清理缓存以减小镜像体积
RUN apt-get update && \
apt-get install -y vim curl && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*

# 4. 设置工作目录
WORKDIR /app

# 5. 将当前目录(宿主机)下的所有内容复制到容器的 /app 目录
COPY . /app

# 6. 声明容器运行时监听的端口
EXPOSE 8080

# 7. 指定容器启动时执行的命令
CMD ["bash"]

构建与运行

在 Dockerfile 所在目录下执行命令:

ubuntu 容器制作

使用 LXD/LXC 搭建系统容器
LXD 是 Ubuntu 官方主推的系统容器方案,它构建于 LXC 之上,提供了更友好的管理和 API 接口,使用体验类似虚拟机,但性能损耗极小。lxc 是 LXD 的命令行工具,用于创建和管理这些容器。

安装与初始化 LXD
LXD 通常通过 Snap 包安装,这是最简单的方式

ubuntu 容器制作

创建并启动 Ubuntu 容器

执行以下命令创建一个 Ubuntu 22.04 的容器:

管理容器
查看容器列表:lxc list

进入容器内部:lxc exec my-container bash

在容器内执行命令:lxc exec my-container -- apt update

停止容器:lxc stop my-container

启动已存在的容器:lxc start my-container

删除容器:lxc delete my-container --force
ubuntu 容器制作

在 LXD 容器中运行 Docker

这种组合方式兼具 LXD 的强隔离性和 Docker 的应用便捷性,非常适合构建复杂的开发环境。官方推荐在 LXD 容器中运行 Docker 时,使用 Btrfs 文件系统以获得最佳性能。

创建 Btrfs 存储池和容器

ubuntu 容器制作

配置容器以支持 Docker

需要开启嵌套容器等安全特性:

ubuntu 容器制作

在 LXD 容器内安装 Docker

进入 LXD 容器,然后按照 Docker 官方指南进行安装:

ubuntu 容器制作

上一篇 ASP - AJAX 与 ASP
下一篇 光纤交换机port说明