容器是部署隔离服务和应用程序实例的好方法。使用这些容器化工具,您可以轻松地将它们从一台服务器移到另一台服务器,快速更新它们,甚至将它们部署到集群中以获得大型可扩展性。本文将为您完成安装市场上最受欢迎的容器工具之一,Docker的过程,然后部署NGINX Web服务器。
安装
在Ubuntu 18.04上安装Docker非常容易。打开终端窗口(或通过SSH)。
-
在安装Docker之前,最好更新和升级服务器。但是请记住,如果升级包括内核,则需要重新启动服务器,以便更改生效。因此,在可能重新启动服务器的时间内运行更新/升级命令。
更新和升级Ubuntu服务器的命令是:
sudo apt-get更新
sudo apt-get升级 -
当这两个命令完成(如果需要的话,您已经重新启动),然后可以通过发出以下内容安装Docker命令:
sudo apt-get install docker.io
-
该命令完成后,启动并启用docker使用命令:
sudo systemctl启动码头
sudo systemctl启用docker这使Docker可以自动启动,如果将服务器重新启动。
-
接下来,将用户添加到Docker组。否则,您必须运行具有Sudo特权的Docker命令,这可能导致安全问题。可以用一个命令来照顾这一点:
sudo usermod -ag docker $用户
如果您很好奇,以下说明了上述命令:
- Usermod是修改用户的实际命令。
- 这一个选项指示您正在将您附加到用户的USERMOD。
- 这G选项指示您将用户添加到组中。
- Docker是您将用户添加到的组。
- $用户指示Bash使用当前登录的用户。
-
运行上述命令后,注销并登录以进行更改生效。
您现在准备开始与Docker合作。
从dockerhub汲取图像
Dockerhub是一个集中式存储库,可容纳可用作容器基础的图像。Dockerhub包含数千张图像,其中一些图像具有非常特定的(甚至是利基市场的目的)。
-
因为目标是部署nginx容器,下拉官方的NGINX容器。在执行此操作之前,请发出命令:
Docker图像
该命令的输出不应显示当前图像。
-
用命令拉下NGINX图像:
Docker Pull nginx
-
上面的命令拉下图像。如果您发出命令Docker图像,您会看到列出的新拉图像。
部署NGINX容器
现在,您已经拥有一个可以基于容器的图像,将NGINX的容器化实例部署到网络上。将NGINX作为容器,您可以控制其部署的端口。
-
在标准端口80上部署nginx。为了实现这一目标,该命令看起来像:
docker run -name docker -nginx -p 80:80 nginx
对上述命令的一些解释:
- Docker是实际命令
- 跑指示命令认为将使用命令运行。
- - 姓名给容器一个可读的名称。
- -p指示Docker使用哪些端口。
- 80:80- 第一个80是外部端口(如您的网络上使用),第二80是内部端口(如Docker所使用)。
- nginx是用于容器的图像。
-
部署该容器后,您应该能够将浏览器指向http:// server_ip(在其中服务器IP是服务器托管Docker的IP地址),然后查看NGINX欢迎页面。
-
您还会注意到您不会收到命令提示符。为什么?您在附加模式下运行命令。如果你打了Ctrl+C钥匙组合,容器被杀死,您有提示。
-
如果要保持容器运行并取回提示,则必须以独立模式部署容器,例如:
docker run -name docker -nginx -p 80:80 -d nginx
-
但是,由于您已经部署了第一个容器,因此您会看到错误。为了避免这种情况,您必须停止使用第一个容器Docker Stop命令。为了做到这一点,您必须注意容器名称(将在错误中打印出来),这是一串随机字符的长字符串。要运行此命令,您只需要使用容器的前四个字符,例如:
Docker Stop F149
-
接下来,您将使用命令删除容器:
Docker RM F149
原始容器现在已停止并已删除。然后,您可以在独立模式下成功重新部署NGINX容器。