docker 安装pgadmin pgagent
时间: 2023-12-01 14:43:18 浏览: 77
以下是使用docker-compose安装postgreSQL和pgadmin以及yum安装pgagent的步骤:
1. 创建一个docker-compose.yml文件,内容如下:
```yaml
version: '3'
services:
db:
image: postgres
restart: always
environment:
POSTGRES_PASSWORD: example
ports:
- "5432:5432"
volumes:
- ./data:/var/lib/postgresql/data
pgadmin:
image: dpage/pgadmin4
restart: always
environment:
PGADMIN_DEFAULT_EMAIL: admin@admin.com
PGADMIN_DEFAULT_PASSWORD: admin
ports:
- "5050:80"
pgagent:
build: ./pgagent
restart: always
depends_on:
- db
environment:
PGAGENT_HOST: db
PGAGENT_PORT: 5432
PGAGENT_USER: postgres
PGAGENT_PASSWORD: example
```
其中,db服务使用postgres镜像创建一个postgreSQL数据库,pgadmin服务使用dpage/pgadmin4镜像创建pgadmin,pgagent服务使用Dockerfile创建pgagent。
2. 创建一个Dockerfile文件,内容如下:
```dockerfile
FROM centos:7
RUN yum -y update && \
yum -y install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm && \
yum -y install postgresql96-contrib && \
yum -y install https://download.postgresql.org/pub/pgadmin/pgadmin4/yum/pgadmin4-redhat-repo-1-1.noarch.rpm && \
yum -y install pgagent
CMD ["pgagent", "-f", "-l", "/var/log/pgagent.log"]
```
这个Dockerfile文件使用centos:7镜像作为基础镜像,然后安装postgresql96-contrib、pgadmin4和pgagent。
3. 在与docker-compose.yml文件相同的目录下创建一个pgagent目录,并在该目录下创建一个空的pgagent.log文件。
4. 在终端中进入docker-compose.yml文件所在的目录,运行以下命令启动服务:
```shell
docker-compose up -d
```
5. 访问http://localhost:5050/,使用刚才设置的PGADMIN_DEFAULT_EMAIL和PGADMIN_DEFAULT_PASSWORD登录pgadmin。
6. 在pgadmin中添加一个postgreSQL服务器,输入以下信息:
```
Name: 任意名称
Host: db
Port: 5432
Maintenance database: postgres
Username: postgres
Password: example
```
7. 在pgadmin中创建一个pgagent任务,输入以下信息:
```
Name: 任意名称
Enabled: 勾选
Description: 任意描述
Host: db
Port: 5432
Database: postgres
Username: postgres
Password: example
```
8. 在pgadmin中为pgagent任务添加一个步骤,例如执行一个SQL查询,然后设置该步骤的调度时间。