Docker 入门。






4.97/5 (12投票s)
通过安装 Docker 并拉取一个小型镜像来开始使用 Docker。
引言
在本文中,我们将介绍如何设置Docker,拉取一个小的Docker镜像,并运行它。
虽然本文的创建是为了让CodeProject成员能够参加我们的Docker挑战赛,但如果您以前从未用过Docker并想开始学习,它也可以作为非常基础的教程。
什么是Docker,为什么我应该关心?
Docker以及容器化技术在过去几年中爆炸式地普及。但流行度并不总是使用某项技术的充分理由。您的软件开发生涯越长,您就越有可能被一个新颖、闪亮、流行的技术所吸引,而最终却发现它是一场噩梦。
我相信Docker是那些真正名副其实的工具之一。Docker容器,顾名思义,是您的应用程序运行在其内部的一个隔离环境。实际上,它的工作方式有点像虚拟机,但开销要小得多。虚拟机通常虚拟化整个计算机——CPU、内存、输入输出设备——再加上在其之上运行的整个操作系统。相比之下,Docker运行在已安装的操作系统之上,并与其宿主操作系统共享内核和内存。因此,您不需要像虚拟机那样预先分配任何CPU或内存。在容器内运行的进程只需使用它们需要的资源,其余资源可供宿主操作系统上运行的其他容器或进程使用。
通常,一个Docker容器包含一个应用程序。容器还包含应用程序的所有运行时依赖项,因此无需安装任何东西或执行任何设置步骤——您只需将docker镜像拉取到您想要运行它的机器上,然后启动容器。
Docker还使用不可变文件系统——所以如果您有多个应用程序使用一个复杂的base镜像,比如Ubuntu,您就不需要为每个应用程序单独存储一份Ubuntu镜像而浪费磁盘空间。相反,您将只有一份Ubuntu base镜像,并且每个应用程序的文件系统将只包含base镜像与应用程序镜像之间的差异。
Docker还有很多我们在此未涵盖的内容。如果我们试图一次性涵盖所有内容,本文将会又长又无聊!当尝试一项新技术时,通常最好先尝试一下,看看它的实际效果,然后再深入学习一切。既然我们将采取这种方法,我们就继续安装和运行Docker。
安装 Docker
Docker可用于Windows、Linux和MacOS。我们将介绍每个操作系统的安装步骤。
Windows
从https://download.docker.com/win/stable/Docker for Windows Installer.exe下载Docker。
下载完成后,运行安装程序。如果出现选择Windows容器还是Linux容器的选项,请选择Linux。
MacOS
从https://download.docker.com/mac/edge/Docker.dmg下载Docker。
下载完成后,打开.dmg文件并运行安装程序。安装完成后,您将在Mac的应用程序文件夹中看到一个Docker应用程序。运行此应用程序以启动Docker守护进程。
Linux
导航到https://get.docker.com/。此地址包含一个bash文件,在该文件的顶部附近的注释块中,您将看到如何在Linux上设置Docker的说明。目前,设置Docker需要运行两个终端命令。
$ curl -fsSL get.docker.com -o get-docker.sh
$ sh get-docker.sh
许多Linux发行版提供了可以通过发行版的包管理器安装的Docker包。其中一些Docker包非常旧。只要通过您的Linux发行版提供的Docker版本相对较新——在过去12个月内发布的——就应该足够新来完成本教程。
拉取Docker镜像
当Docker安装时,它通常会将自身添加到您的系统路径中,因此当您打开命令提示符或终端时,可以从任何地方运行它。因此,首先,让我们打开一个终端。
- 在Windows上,打开命令提示符或PowerShell窗口。
- 在MacOS上,打开Terminal.app(如果您喜欢,也可以是iTerm)。
- 在Linux上,打开xterm或您的Linux发行版提供的任何终端程序。
现在,在您的终端窗口中,运行以下命令:
docker pull codeproject/docker-contest
当您运行该命令时,您将看到Docker从Docker Hub拉取CodeProject contest镜像。镜像应该会快速下载,因为它基于Alpine Linux,而Alpine Linux非常小——只有几兆字节。
生成您的比赛参赛代码
现在您已经拉取了CodeProject contest镜像,是时候生成您将用于参加比赛的代码了!为此,请在终端中运行以下命令:
docker run -it codeproject/docker-contest
镜像将启动,您将看到它要求输入您的CodeProject会员号。您可以在您的个人资料页面上找到您的会员号,就在您的照片或头像的正上方。输入您的号码,CodeProject contest Docker镜像将为您提供一个可以用来参加比赛的代码。您可以在此处找到比赛入口页面。
就是这样!您已经安装了Docker,拉取了一个镜像,并在Docker容器中运行了它。我们才刚刚触及Docker可能性的皮毛,但现在您已经安装并使用了它,您已经处于深入学习更高级教程的有利位置。
接下来呢?
想尝试一些额外的Docker操作吗?
您可以尝试这些命令:
docker run hello-world
docker --version
docker info
另外,考虑查看Docker网站上提供的精彩概述和教程: https://docs.docker.