如果你是为开发人员提供支持的Linux系统管理员,很可能听说过Docker。如果没有,该软件解决方案将从今天开始帮助你降低运营成本并加速部署,带来其它诸多好处,从而让你的工作更轻松。
Docker作为一个平台利用容器技术,将应用程序及其运行所需的所有工具打包在一起,以消除不同环境之间的差异。换句话说,容器化软件将在安装位置无关的情况下一致运行和管理。此外,与传统的虚拟机相比,容器更容易设置、启动、停止和维护。
如果你对这两种技术之间的差异感兴趣,可以在官方Docker网站上找到很好的解释。为了更好的说明,本文将解释如何在基于RHEL的发行版(如CentOS、Rocky/Alma Linux和Debian/Ubuntu)上安装Docker,并从Docker Hub中启动一个Apache容器。
然后,小编将使用它从我们的主目录提供一个简单的网页,所有这些都不需要在我们的主机上安装Web服务器,一起来看看吧。
在Linux上安装Docker
首先,使用以下curl命令安Docker,该命令将下载并运行一个shell脚本,该脚本将Docker存储库添加到我们的系统并安装软件包:
curl -fsSL https://get.docker.com | sh
接下来,使用systemctl 命令启动主Docker服务,使其能够在重新引导期间启动,并检查其状态:
systemctl start docker systemctl enable docker systemctl status docker
此时我们就可以简单的执行了,命令如下:
docker
查看可用命令列表或获取帮助:
docker COMMAND --help docker ps --help
将告诉我们如何列出系统上存在的容器,命令如下:
docker run --help
这样将输出我们可以用来操作容器的所有选项:
设置Apache容器
sudo docker run -dit --name tecmint-web -p 8080:80 -v /home/user/website/:/usr/local/apache2/htdocs/ httpd:2.4
此时,我们的Apache容器应该已启动并正在运行。
sudo docker ps
现在让我们使用vim编辑器在/home/user/website目录中创建一个名为docker.html的简单网页。
vi /home/user/website/docker.html
将以下示例 HTML 内容添加到文件中。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>在 Tecmint.com 学习 Docker</title> </head> <body> <h1>学习Docker 与我们一起</h1> </body> </html>
接下来,将浏览器指向Server-IP:8080/docker.html(其中Server-IP是服务器公共IP地址)。现在应该会看到我们之前创建的页面:
如果愿意,你现在可以停止容器:
sudo docker stop tecmint-web
使用以下命令删除它:
sudo docker rm tecmint-web
要完成清理,可能需要删除容器中使用的映像(如果你计划很快创建其它Apache 2.4容器,请忽略此步骤)。
sudo docker image remove httpd:2.4
请注意,在上述所有步骤中,我们无需在主机上安装Web服务器。
总结
在本文中,小编简单介绍了如何安装Docker并操作容器。不幸的是,这只是基础知识。如果你想更深入地了解Docker,例如安装Docker、在容器中运行应用程序,以及使用Dockerfile自动构建Docker镜像等内容,需要搜索相关专业资料进行学习了解。