# pcp命令

在 Docker 容器中运行 Pgpool-II 时，您需要执行 `pcp` 命令来管理 Pgpool-II 集群。但是，可能会发现在进入容器后执行 `pcp` 命令时会出现权限问题或找不到命令等问题。

这主要是由于 Docker 环境的限制和特殊环境造成的。当您使用 `docker exec` 命令进入运行中的容器时，默认情况下您会进入容器的“shell”环境中，该环境中可能不包含 `pcp` 命令或环境变量等。如果您尝试运行 `pcp` 命令，很可能无法找到该命令或遇到权限问题。

为了解决这个问题，您可以在 `docker exec` 命令中直接运行 `pcp` 命令，而不是进入容器后再运行它。以下是一个示例命令：

```
docker exec -it pgpool_container_id pcp_node_count -h localhost -U pgpool -p 9898
```

上述命令中，`pgpool_container_id` 是运行 Pgpool-II 的 Docker 容器的 ID，`pcp_node_count` 是您要运行的 `pcp` 命令。该命令将直接在容器中运行 `pcp` 命令，并返回所需的输出。通过这种方式，您可以在不进入容器的情况下管理 Pgpool-II 集群。

请注意，在 Docker 容器中运行 `pcp` 命令需要特殊的配置和权限。请遵循 Docker 和 Pgpool-II 的最佳实践，以确保安全和可靠性。

![image-20230621161908977](https://ye5201314-1312898079.cos.ap-guangzhou.myqcloud.com/image-20230621161908977.png)