如何使用 Docker 部署容器

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

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

如何使用  <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:


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

查看所有标签

猜你喜欢:

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

Designing Data-Intensive Applications

Designing Data-Intensive Applications

Martin Kleppmann / O'Reilly Media / 2017-4-2 / USD 44.99

Data is at the center of many challenges in system design today. Difficult issues need to be figured out, such as scalability, consistency, reliability, efficiency, and maintainability. In addition, w......一起来看看 《Designing Data-Intensive Applications》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

html转js在线工具
html转js在线工具

html转js在线工具

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

HSV CMYK互换工具