【Docker】如何用 Docker 创建 Ubuntu 容器

3,250 阅读3分钟

Docker 是一种容器化技术,相比于虚拟机,docker 容器的体积更小,安装和运行也更加方便,且每个环境之间相互独立,非常适合用来测试。本文将介绍如何使用 Docker 快速创建一个 ubuntu 容器,以及如何根据 DockerFile 创建自己的镜像


首先需要安装好 Docker,可以从官网直接下载安装。安装好之后,打开 Docker,并打开命令行工具。

创建和运行容器

拉取一个ubuntu镜像(如果没有标注版本号默认拉取 latest 的镜像),并查看。可以看到镜像只有不到 80MB。

docker pull ubuntu
docker images # 查看所有镜像

image.png

基于这个镜像,运行一个 ubuntu 容器

docker run --name ubuntu -itd ubuntu

参数含义分别为

  • --name ubuntu 给新的容器命名为 ubuntu
  • -i 相当于 --interactive 使用标准输入与容器交互,保持对容器的标准输入开放
  • -t 相当于 --tty 表示给容器分配虚拟终端
  • -d 相当于 --detach 表示容器在后台运行
  • 最后的 ubuntu 表示使用的镜像名称

查看运行的容器,可以查看容器的名称和id

docker ps

image.png 可以看到后台已经运行了一个容器,容器 id 的前12位为 cf6ca337d857

进入运行的容器的内部(在容器中开启一个交互模式的终端)

docker exec -it ubuntu /bin/bash

docker exec用来在容器上执行命令。这里打开 ubuntu(容器名称,也可以使用容器 id)容器的 bash/bin/bash 也可以简写为 bash

关闭和启动容器

docker stop ubuntu # 关闭容器
docker start ubuntu # 启动容器

ubuntu是容器名

安装常用的 ubuntu 工具

因为刚创建的 ubuntu 容器是完全干净的 ubuntu 系统,所以没有很多系统工具和组件,需要自行安装。下面列出一些常用的工具:

apt update # 更新 apt 工具,需要最开始运行这个步骤,否则后面组件可能安装失败
apt install vim # 安装 vim 工具
apt install curl # 安装 curl,可以用来访问网络资源
apt install iputils-ping # 安装 ping 工具
apt install perl # 安装 perl

如何创建自己的 image

如果想要在初始 ubuntu 镜像基础上,自定义镜像,如安装上述常用工具,应该怎么做?

创建文件 Dockerfile

vim Dockerfile

在文件中输入想要执行的操作

FROM ubuntu # 将 Ubuntu 作为 base 镜像
RUN apt update # 执行 RUN
RUN apt install -y vim && apt install -y curl
RUN echo 'This is an ubuntu image with some tools installed.'

查看文件,检查是否没有问题

cat Dockerfile

构建镜像

docker build -t ubuntu-with-tools .

这里 -t ubuntu-with-tools 将新镜像命名为 ubuntu-with-tools.表示build context为当前目录(Docker 默认会从build context中查找 Dockerfile 文件,也可以通过 -f 指定 Dockerfile 文件的位置)。

使用 docker images 即可查看新创建的镜像。