Docker 是一种容器化技术,相比于虚拟机,docker 容器的体积更小,安装和运行也更加方便,且每个环境之间相互独立,非常适合用来测试。本文将介绍如何使用 Docker 快速创建一个 ubuntu 容器,以及如何根据 DockerFile 创建自己的镜像。
首先需要安装好 Docker,可以从官网直接下载安装。安装好之后,打开 Docker,并打开命令行工具。
创建和运行容器
拉取一个ubuntu镜像(如果没有标注版本号默认拉取 latest
的镜像),并查看。可以看到镜像只有不到 80MB。
docker pull ubuntu
docker images # 查看所有镜像
基于这个镜像,运行一个 ubuntu 容器
docker run --name ubuntu -itd ubuntu
参数含义分别为
--name ubuntu
给新的容器命名为ubuntu
-i
相当于--interactive
使用标准输入与容器交互,保持对容器的标准输入开放-t
相当于--tty
表示给容器分配虚拟终端-d
相当于--detach
表示容器在后台运行- 最后的
ubuntu
表示使用的镜像名称
查看运行的容器,可以查看容器的名称和id
docker ps
可以看到后台已经运行了一个容器,容器 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
即可查看新创建的镜像。