为降低运营成本、加快部署可以通过docker平台,用容器(应用程序的软件包及运行所需的全部工具)消除环境间的差异。通过docker不管是容器化软件安装在何处,都可以实现一致运行和管理。同虚拟机器相比,容器设置、启动、停止和维护都会更加便捷。本文将分享如何在基于RHEL发行版如CentOS、Rocky/Alma Linux和Debian/Ubuntu上安装系统,及使用docker Hub启动apache容器的方法。
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
Docker支持数十种标准容器可供用户轻松下载和使用。如使用来自Docker Hub 的名为httpd:2.4的映像。将实例化一个名为tecmint-web 的Apache 2.4容器,与当前终端分离。将对端口8080上的公共 IP 地址的请求重定向到容器上的端口80。此外,我们不从容器本身提供内容,而是从/home/user/website提供一个简单的网页。将/home/user/website/映射到容器上的/usr/local/apache2/htdocs/来实现此目的。请注意,您需要使用sudo或以root身份登录才能继续,并且不要省略每个目录末尾的正斜杠。
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
把以下内容添加到文件中:
<!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
为完成清理,还可能要删除容器中使用的镜像:
sudo docker image remove httpd:2.4