本教程包括如何创建新的Docker容器,如何执行容器,从现有的Docker容器中创建自己的Docker镜子等Docker基础知识和操作。
在之前的教程中,知道在Ubuntu中如何安装Docker,在CentOS中安装Docker。今天决定知道Docker的基本用法。该教程中包含了如何创建新Docker容器、如何执行该容器、从现有Docker容器创建自己Docker图像等Docker的基础知识和操作。所有的步骤都在Ubuntu18.04LTSserver版本中通过了考试。
在开始操作手册之前,请不要混淆图像和Docker容器这两个概念。在以前的教程中,Docker镜像是Docker决定容器行为的文件,Docker容器是Docker镜像的运行状态或停止状态。(LCTT翻译注:macOS中使用Docker终端时,不需要sudo。
1、检索Docker镜像
我们Docker可以从仓库获取镜像。例如Docker hub或者可以自己制作镜像。在这里说明。Docker hub是云服务器的用户提供的创建、测试和保存他们的图像。
Docker hub拥有数千万个Docker的镜像文件。你可以通过Dockersearch命令在这里搜索你想要的镜像。
例如,检索基于Ubuntu的镜像文件时,需要执行。
$sudoDockersearchUbuntu
输出示例:
检索基于CentOS的镜像,执行:
$sudoDockersearchCentOS
搜索AWS的图像并执行。
$sudoDockersearchAWS
Docker hub拥有几乎所有种类的镜像,包含操作系统、程序、其他任意类型,这些将构筑后的镜像Docker hub列表中。在您搜索的时候,即使找不到您想要的图像文件,也可以自己创建并公开,或者自己使用。
2、下载Docker镜像
要下载Ubuntu的图像,需要在终端中执行以下命令。
$sudoDockerpullUbuntu
该命令下载与Docker hub最近的版本的Ubuntu图像文件。
输出示例:
下载Docker镜像
您也可以下载指定版本的Ubuntu镜子。执行以下命令:。
Docker在任意宿主机操作系统中,可下载并执行任意镜像文件。
例如,下载CentOS镜子:
$sudoDockerpullCentOS
查看已下载的镜像列表,可以使用以下命令:。
$sudoDockermages
输出示例:
现在继续,看看我们如何执行下载的图像。
3、运行Docker印象
运行一个容器有两种方法。可以使用标签和镜子ID。标签是指特定的镜像快照。镜ID是指镜子的唯一标志。
Docker下载镜像后,可通过以下命令使用标签启动。
在这句话中:
-t:用这个容器启动新的终端。
-i:通过容器内的标准输入流建立相互连接
或者,可以通过镜子ID启动新容器。
在这句话中:
启动容器后会自动进入容器的shell。
Docker容器的shell
如果想回到主机终端(在本示例中,可以返回18.04LTS,不中断容器的执行,按CTRL+pCTRL+Q。现在,你安全地回到了您的主机系统。需要注意的是Docker容器还在后台运行,但未中断。
可通过以下命令确认运行中的容器。
$sudoDockerps
输出示例:
一览显示运行中的集装箱
需要注意的是,容器ID和Docker的印象ID不同。
可通过以下命令确认运行中和停止中的所有容器。
$sudoDockerps-a
宿主机中中断容器的执行:
$sudoDockerstop
例如
要进入执行中的容器,需要执行。
嗳exit
也可以使用该命令确认在后台执行中的容器。
$sudoDockerps
4、构建自己的Docker形象
Docker不仅可以下载在线运行的容器,也可以制作自己的容器。
要创建自己的Docker图像,请先执行下载的容器。
现在移动容器放入容器。然后,在这个容器上安装任意软件,做自己想做的事情。
例如,我们在集装箱上安装web服务器Apache。
所有操作完成后,安装所有软件后,执行以下命令,可以构建自己的Docker图像。
同样,将想要安装的所有软件安装到容器中进行测试。
安装完成后,返回主机的终端。请不要关闭容器。我想不中断容器回到宿主机。请按CTRL+p,按CTRL+指南Q。
从你的主机终端,执行以下命令以寻找容器ID:
$sudoDockerps
最后,从从一执行中的容器中创建Docker图像。
输出示例:
在这里:
Ubuntu_Apache—我们制作的镜像
确认新制作的Docker图像。
$sudoDockermages
输出示例:
列出所有Docker的图像。
正如你所看到的那样,这个新图像是刚从本地系统中运行的容器中制作出来的。
现在,可以根据这个印象制作新的容器。
5、删除容器
你的Docker上面的工作全部结束后,可以删除不需要的容器。
要删除容器,首先必须停止容器。
首先看看运行中的容器里有什么。
$sudoDockerps
输出示例:
使用容器ID停止该容器:
现在可以删除这个容器。
这样也可以删除不需要的容器。
需要删除的容器数量多的情况下,一个一个地删除也很麻烦。将停止的容器全部删除。只需要执行
按Y,确认您的操作。
此命令只支持最新的Docker。(LCTT翻译注:只支持1.25以上的版本Docker
6、删除Docker镜像
删除不需要的Docker容器后,也可以删除不需要的Docker图像。
一览显示已下载的镜像。
$sudoDockermages
输出示例:
)根据上面的命令,可知在本地系统中存在三个反射镜。
使用镜子ID删除图像。
输出示例:
解决问题
这是因为Docker镜像被用于一个容器。
所以,确认执行中的容器。
$sudoDockerps
输出示例:
入门
现在没有运转的容器,请注意!!
请确认所有容器。
$sudoDockerpa-a
输出示例:
可以看到有使用这些图像停止的容器残留。
删除这些容器吧。
我们仍然使用容器ID删除这些容器。
删除使用该图像的所有容器后,可以删除Docker的图像。
例如
再次确认本机存在的镜像。
$sudoDockermages
这是全部的教程。我想知道Docker的基本用法。
本站声明:本站所有好东西均来源于互联网,不保证100%完整、不提供任何技术支持,分享目的仅限于学习和测试,一切商业行为与本站无关,下载后请在24小时内删除。请勿用于商业用途,如需商业使用请向官方购买授权,由于使用该资源引起的侵权行为与本站无关!如有侵权,请联系info#sogua2008.com(将#换为@)及时删除!
本文地址:搜刮好东西 » Docker入门指南