如何使用 Docker 部署容器

栏目: 编程工具 · 发布时间: 6年前

设想,为了推出一个网站,您不必从裸机安装一个完整的服务器。 而不是安装操作系统,然后安装服务器软件,然后部署精心设计的应用程序或站点,您可以简单地在一个独立的包中开发所有内容,并使用单个命令将其推出。

如何使用  <a href='https://www.codercto.com/topics/20577.html'>Docker</a>  部署容器

这是使用容器的众多好处之一。它们使开发和部署周期变得异常高效。 但是你如何部署这些容器?我想在这里指导你完成这个过程。我们将专注于在Ubuntu Server 18.04上部署基本的NGINX Web服务器作为容器。所有这一切都将在Docker的帮助下完成。

一、您需要什么?

为了成功将NGINX部署为容器,您需要具备以下条件:

- 一个安装了Docker的Ubuntu Server 18.04的运行实例。

- 一个docker 用户组的成员用户

是的,有了这两部分,你就准备好了。

二、温馨提示

您部署的每个容器都将基于从DockerHub中提取的镜像。 您可以下拉单个镜像并根据需要随时使用。 DockerHub上还有许多镜像用于单个应用程序或平台。 以NGINX为例。 如果你在DockerHub上搜索NGINX,你会得到大约56,172个条目。 这并不意味着每个条目都是您可以使用的可用图像。

图像命名如下:

<em>name/descriptive-name</em>

例如,对于NGINX,您可能会找到一个名字为的镜像:

bitwarden/nginx (a reverse proxy NGINX image)

或许你可能找到:

nginx/nginx-ingress (NGINX Ingress controller for Kubernetes)

您也看到了,有几乎所有需要的镜像。

目前,您只需关注一个镜像。 该图像是NGINX的官方发布版本。

三、拉取镜像

在使用图像之前,必须将其保存在本地驱动器上。 有两种方法可以做到这一点:

- 直接使用pull命令

- 间接地,在容器部署过程中。

要从DockerHub中拉取图像,您将打开一个终端窗口并发出命令:

docker pull nginx

如果你想拉取Ingress图像,该命令是:

docker pull nginx/nginx-ingress

当你拉取你需要的图像之后,你可以使用命令确认是否存在:

docker images

上面的命令将列出你拉取的所有镜像(图A)。

如何使用 Docker 部署容器

图A: NGINX和nginx / nginx都是可用镜像。

拉取随意图像时要谨慎。 为什么? 因为你永远不知道创造它们的原因。 容器可能包含恶意代码,可能会对您的网络或数据造成严重破坏。 因此,最好只使用官方图像(例如NGINX图像)。

四、部署容器

现在该部署容器了, 如果您尚未拉取镜像,则在部署阶段将下拉所需要的镜像。 由于我们拉取官方NGINX图像,我们将使用它。

要部署容器,请使用docker命令,如下所示:

docker run --name NAME -p PORTS IMAGE

备注:

- NAME等于您要为容器提供的名称(这可以是任何内容,例如nginx-webserver)。

- PORTS您要使用的端口(以NETWORK PORT: CONTAINER PORT形式)。

- IMAGE用于容器的图像(例如nginx)。

因此,部署NGINX容器的基本命令是:

docker run --name nginx-webserver -p 80:80 nginx

容器将要部署,NGINX Web服务器将在端口80上可用于本地网络。 但是,如果已在服务器上使用端口80来部署容器,该怎么办? 您可以将其部署在网络端口8080上,如下所示:

docker run --name nginx-webserver -p 8080:80 nginx

此时,您可能会看到下一个问题。 运行上述命令之一后,不返回bash提示符(图B)。

如何使用 Docker 部署容器

图B:容器在访问NGINX驱动的站点时给我们反馈信息,但它没有给我们提示符。

五、分离模式

你如何运行一个容器,并获得你的bash提示? 为此,您必须以分离模式运行容器。 在此之前,您必须使用键盘组合[Ctrl] +终止当前容器。 该组合将返回提示并杀死容器。

要确定容器是否运行,使用命令:

docker ps -a

将列出所有容器及其状态(图C)。

如何使用 Docker 部署容器

如果容器仍在运行,我们必须在同一端口部署另一个容器之前将其终止(否则端口会发生冲突,从而阻止容器部署)。 要杀死正在运行的容器,首先需要Container ID(随机字符串)。 发出docker ps -a命令时会显示此字符串。 要终止正在运行的容器,使用命令:

docker stop CONTAINER_ID

其中CONTAINER_ID是相关容器的ID。

然后,您可以使用以下命令删除容器:

docker rm CONTAINER_ID

其中CONTAINER_ID是相关容器的ID。

请注意,您不必输入完整的Container ID,字符串的前四个字符就足够了。

现在,要以分离模式部署容器,命令是:

docker run --name nginx-webserver -p 80:80 -d nginx

这次你不仅会得到你的提示,而且Docker会为你显示容器ID(图D)。

如何使用 Docker 部署容器

图D:我们的NGINX容器,以分离模式运行。

六、访问运行中的容器

如果你想在正在运行的容器上工作怎么办? 假设您想对NGINX进行更改甚至开始开发它将显示的网站? 因此,您必须访问容器。 因此,您需要Container ID。 使用ID,发出命令:

docker exec -it CONTAINER_ID bash

其中CONTAINER_ID是容器的ID。

您现在应该处于运行容器提示符(图E)中,您可以在其中开始处理NGINX服务器。

如何使用 Docker 部署容器

图E: NGINX容器提示,准备工作。

要退出容器,只需键入命令exit。

七、比你想象的容易

希望到现在为止,您看到容器部署并不像您想象的那样具有挑战性。 在Docker的帮助下,您可以在几分钟内推出专业版的应用和服务。

原文链接:

https://thenewstack.io/how-to-deploy-a-container-with-docker

↓↓ 点击"阅读原文" 【加入云技术社区】

相关阅读:

容器基础知识:如何提交对 Docker 镜像的更改

吐血总结:最为详细的Docker入门指南

中小团队基于Docker的DevOps实践

Docker:物理机vs虚拟机,五方面详细对比!

基于Kubernetes和Docker构建微服务之路

Docker 所有最新版本中招!允许攻击者获得主机 root 访问权限

RightScale 2019年云状况调查报告:35% 的云支出被浪费「附50页PDF下载」

2018年云计算九大趋势热词:Serverless、混合云、多云、中台、边缘计算等「附下载」

更多文章 请关注

如何使用 Docker 部署容器

文章好看点这里[在看]:point_down:


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

技术元素

技术元素

[美] 凯文·凯利 / 张行舟、余倩、周峰、管策、金鑫、曾丹阳、李远、袁璐 / 译言·东西文库/电子工业出版社 / 2012-5 / 55.00元

我会将我不成熟的想法、笔记、内心争论、草稿以及对其他文章的回应都写在《技术元素》中,这样我就能知道自己到底在想些什么。——KK “技术元素”(technium)是凯文•凯利专门创造出来的词语。“技术元素不仅仅包括一些具象的技术(例如汽车、雷达和计算机等),它还包括文化、 法律、社会机构和所有的智能创造物。”简而言之,技术元素就是从人的意识中涌现出来的一切。KK把这种科技的延伸面看成一个能产生......一起来看看 《技术元素》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具