如何在Docker Compose中使用Nginx

2,066 阅读3分钟

Docker Compose是一个工具,用于定义和运行几个容器作为一个单一的服务。它被用于暂存、开发和测试环境。Docker Compose的工作方式是在其".yml "文件中定义一个堆栈,然后利用docker-compose命令来执行它。Docker Compose允许你将多个容器连接在一起,只用一个命令就可以部署一个应用程序。它还有助于保持集成工作流程的连续性。

使用Docker Compose,你可以创建多个容器并添加本地或官方镜像,如 "Nginx"。在一个Docker容器内,你可以安装软件包,添加或删除该特定容器的各种设置。在这篇文章中,我们将讨论如何用Docker Compose使用Nginx

要在Docker Compose中使用Nginx,你需要在系统中安装并启用Docker和Docker Compose。请按照帖子的内容进行安装程序。

如何在CentOS上安装Docker

首先,按 "CTRL+ALT+T"来打开终端。之后,执行下面的命令,添加Docker官方仓库并下载其最新版本。

$ curl -fsSL https://get.docker.com/ | sh

上面给出的无错误输出标志着Docker已经成功安装在你的系统上。现在使用 "systemctl"命令启动Docker服务。

$ sudo systemctl start docker

为了确保Docker服务在每次服务器重启时都能运行,请在终端使用这个命令。

$ sudo systemctl enable docker

现在,验证Docker是否在你的系统上运行。

$ sudo systemctl status docker

或者你也可以从Docker Hub全局拉取一个镜像,如 "hello-world"。

$ docker run hello-world

如何在CentOS上安装Docker Compose

你可以在我们的系统上安装Docker Compose,方法是执行下面的命令。

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

这个命令将下载最新版本的Docker Compose,并将其存储在"/usr/local/bin/docker-compose"目录下。

现在,我们将在 "chmod"命令的帮助下,设置下载的docker-compose的权限。执行下面的命令将使docker-compose文件可以二进制执行。

$ sudo chmod +x /usr/local/bin/docker-compose

检查已安装的Docker Compose的版本。这个动作也将验证Docker Compose在你的CentOS系统上是否存在。

$ docker-compose --version

如何使用Nginx与Docker Compose

在本节中,我们将演示如何在Docker Compose中使用Nginx。为此,首先,我们将使用 "mkdir"命令创建一个 "nginx"目录。mkdir"命令用于在基于Linux的系统(如CentOS)中创建单个或多个目录。执行下面提到的命令,在系统中创建一个 "nginx"目录。

$ sudo mkdir ~/nginx

现在,在 "cd"命令的帮助下,进入 "Nginx"目录。

$ cd ~/nginx

利用nano编辑器,创建一个 "docker-compose.yml"文件。

$ sudo nano docker-compose.yml

现在,在打开的 "docker-compose.yml"文件中添加以下几行代码。

nginx:
  image: nginx

这几行将添加 "Nginx "镜像到Docker容器中。

接下来,按 "CTRL+O"来保存docker-compose.yml文件中的内容。

现在,执行 "docker-compose up"来启动Nginx作为我们系统的后台进程。

$ docker-compose up -d

这里,添加了"-d"选项来激活分离模式。这种模式将在后台执行容器。

为了验证Nginx是否作为后台进程运行,通过执行 "docker ps "命令列出Docker镜像。

$ docker ps

从输出中,注意系统中Nginx镜像的CONTAINER ID

现在,通过在浏览器中浏览"http://localhost",验证 "Nginx"是否在你的系统上运行。

如果你想在Nginx容器中添加、修改或删除一些东西,那么就利用它的CONTAINER ID,这个ID可以从上面给出的 "docker ps"命令中检索出来。

在我们的例子中,CONTAINER ID是 "aa825b49a317"。现在,我们将执行 "docker exec"命令,在Nginx容器中启动一个外壳。

$ docker exec -it aa825b49a317 /bin/bash

这里,添加了"-t"选项用于打开一个终端,"-i"选项用于使其交互式。而"/bin/bash"将在运行的Nginx容器中打开一个bash shell。

要退出当前Nginx容器的外壳,在终端输入exit。

root@aa825b49a317:/# exit

总结

Docker-compose是一个命令行工具,它允许用户用一个命令来部署多个Docker容器和应用程序。你可以将多个容器连接起来,在Docker中部署一个应用程序。Docker Compose利用一个".yml "文件来定义一个堆栈。在这篇文章中,我们已经向你展示了如何在CentOS上安装Docker和Docker Compose。此外,我们还向你演示了如何在Docker Compose中使用Nginx