概要

有时候,我们想在一个空白的 Linux 环境下自己跑一些程序或者做一些测试或者跑一个 demo。

而如果使用虚拟机来做,首先需要的资源很多,你得占用数以 GB 的磁盘空间来跑一个虚拟机,而且你还得安装操作系统,安装环境等等。

其次,你做某项测试所需的依赖或者环境有可能会与其他环境所需的依赖冲突,所以,如果你想做到每做一项测试都使用干净的环境且不与其他环境冲突,那么你需要每做一次测试就安装一个虚拟机(或者使用快照来不停地还原系统)。但无论哪种方式,这显然所需资源巨大。

而 docker 就是完美的解决了这个问题,他体积小,所需资源少,安装与运行相当方便,且每一个环境之间相互独立。当然 docker 的特点与优点不止这些。

注:并不是说虚拟机相比于 docker 完全没有优势,只是上面这种场景使用 docker 更方便,但也有很多其他的场景是 docker 替代不了的,比如大型软件环境,图形环境等等。

正文

1、拉取一个 ubuntu 的镜像

执行如下命令拉取一个 ubuntu 的最新镜像

docker pull ubuntu

示例:

$ docker pull ubuntu 
Using default tag: latest 
...

注:摘取镜像的完整命令是 docker pull image:tag,如果 :tag 没传,则会自动设置为 latest,即可上面的命令相当于

docker pull ubuntu:latest

2、查看镜像

执行如下命令查看本地已拉取的镜像

docker images

示例:

$ docker images                 
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE 
ubuntu              latest              72300a873c2c        2 months ago        64.2MB

可以看到,我们拉取一个干净的 ubuntu 镜像的大小只有 64 MB,比起使用 ISO 镜像文件安装虚拟机的动辙数 GB 大小,它显示是太小巧太方便了,而且拉取也非常快(可以设置国内镜像源来加速使拉取速度更快)。 

3、运行一个基于 Ubuntu 的 Linux 容器

执行如下命令可以运行一个 Ubuntu 的容器。

docker run --name ubuntu_demo -itd ubuntu

示例:

$ docker run --name ubuntu_demo -itd ubuntu     
049131a972403a309ffebe5b63243066b3d0a497e399ee0dc91cba6924f6f40b

其中:

–name ubuntu_demo 表示给运行的窗口取名为 ubuntu_demo

-i 表示 interactive 可交互的,变即可以从标准输入与容器交互。

-t 表示给容器分配一个虚拟终端。

-d 这个参数表示的是在后台运行,即 –deamon。

ubuntu 表示的是运行容器所使用的镜像名称。

4、查看运行容器

$ docker ps -a | grep ubuntu_demo
049131a97240     ubuntu              "/bin/bash"              3 minutes ago       Up 3 minutes         ubuntu_demo

可以看到,后台已经运行了一个叫做 ubuntu_demo 的窗口,容器 ID 的前 12 位部分是 049131a97240

总结

进入  Ubuntu Linux 容器内部

如果要进入该容器内部,则可以使用下面的命令:

$ docker exec -it ubuntu_demo /bin/bash

其中ubuntu_demo 是 docker 容器的 名称,也可以使用容器名称,如:

docker exec -it 0491 /bin/bash

注:

(1) 容器 ID 0491 可以写尽量少的位数,只要不与其他的 container id 重复即可。

(2) 其中 docker exec 是固定命令,-it 是 interactive 和 tty 缩写,后面跟容器 id 或名称,/bin/bash 表示内部使用的 shell 方式,也可以简写 bash。

附录

一些小 tips:由于是完全干净的 Ubuntu 系统,所以系统中的很多的工具或者组件是没有的,需要自行安装,不过使用 apt-get 工具也非常地方便。

下面列几个常用的

在国内使用 apt-get,最重要的就是设置国内 apt 镜像源,可以请参考另一篇文章:【原创】Ubuntu apt 更改国内阿里源

apt-get update    更新 apt-get 工具,这个步骤优先级最高,因为不更新很多组件安装不了
apt install vim    安装 vim 工具,初始系统中连 vi 都没有,显然很需要。另外,可以使用 apt-get 命令简写 apt 来执行安装,效果相同。 
apt install wget    安装 wget 工具,如果你需要从网络上下载资源 
apt install curl    安装 curl 工具,如果你需要使用 curl 来访问网络资源
apt install net-tools 如果你需要使用网络工具,比如 ifconfig 等,安装 net-tools
apt install telnet    如果需要使用 telnet,安装 telnet
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐