Я делаю в docker php / postgres / phppgadmin, и мне нужно добавить psql в мой проект для загрузки дампов sql. Я нашел это https://hub.docker.com/r/softwareplant/psql и добавил его в свой проект, но, выполнив команду сборки, я получил ошибку:
docker-compose up -d --build
...
Sccessfully built 3b0700d7bed8
Successfully tagged lprodsdocker_web:latest
Pulling psql (softwareplant/psql:latest)...
ERROR: manifest for softwareplant/psql:latest not found: manifest unknown: manifest unknown
Мой docker-compose.yml:
version: '3'
services:
web:
build:
context: ./web # directory of web/Dockerfile.yml
dockerfile: Dockerfile.yml
environment:
- APACHE_RUN_USER=#1000
# - APACHE_RUN_USER=www-data
container_name: lprods_web
volumes:
- ${APP_PATH_HOST}:${APP_PTH_CONTAINER}
ports:
- 8086:80
working_dir: ${APP_PTH_CONTAINER}
db:
image: postgres:9.6.10-alpine
container_name: lprods_db
ports:
- '5433:5432'
restart: always
environment:
POSTGRES_USER: 'postgres'
POSTGRES_PASSWORD: '1'
POSTGRES_DB: 'wprods'
volumes:
- ./init:/docker-entrypoint-initdb.d/
phppgadmin:
image: dockage/phppgadmin:latest
environment:
- PHP_PG_ADMIN_SERVER_HOST=db
- PHP_PG_ADMIN_SERVER_PORT=5432
- PHP_PG_ADMIN_SERVER_DEFAULT_DB=postgres
container_name: lprods_phppgadmin
restart: always
ports:
- 8087:80
- "443:443"
links:
- db
psql:
image: softwareplant/psql
environment:
- PHP_PG_ADMIN_SERVER_HOST=db
- PHP_PG_ADMIN_SERVER_PORT=5432
- PHP_PG_ADMIN_SERVER_DEFAULT_DB=postgres
container_name: lprods_phppgadmin
restart: always
ports:
- 8087:80
- "443:443"
links:
- db
composer:
image: composer:1.6
container_name: lprods_composer
volumes:
- ${APP_PATH_HOST}:${APP_PTH_CONTAINER}
working_dir: ${APP_PTH_CONTAINER}
command: composer install --ignore-platform-reqs
Какойпуть правильный? На https://hub.docker.com есть такое изображение ... Это недействительно? Можете ли вы посоветовать какое-то другое решение?
ИЗМЕНЕНО: Далее я пытаюсь
https://hub.docker.com/r/governmentpaas/psql
Provides psql Postgres client.
description seems like what I need : to upload dump into postgres db
In docker-compose.yml I added item :
psql:
image: governmentpaas/psql
environment:
- PHP_PG_ADMIN_SERVER_HOST=db
- PHP_PG_ADMIN_SERVER_PORT=5432
- PHP_PG_ADMIN_SERVER_DEFAULT_DB=postgres
container_name: lprods_psql
restart: always
ports:
- "8088:80"
- "444:444"
links:
- db
, и он был установлен нормально, и я вижу этот контейнер в хостинге ОС:
lprods_docker$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a3342c0b0df4 dockage/phppgadmin:latest "/sbin/entrypoint ap" 16 minutes ago Up 16 minutes 0.0.0.0:443->443/tcp, 0.0.0.0:8087->80/tcp lprods_phppgadmin
3ffa2823257a governmentpaas/psql "/bin/sh" 16 minutes ago Restarting (0) 42 seconds ago lprods_psql
7071eaf067d6 lprodsdocker_web "docker-php-entrypoi" 17 minutes ago Up 16 minutes 0.0.0.0:8086->80/tcp lprods_web
4372e269daf8 postgres:9.6.10-alpine "docker-entrypoint.s" 17 minutes ago Up 16 minutes 0.0.0.0:5433->5432/tcp lprods_db
Но при входе в bash-контейнер команда psql не найдена:
# uname -a
Linux 7071eaf067d6 4.15.0-66-generic #75-Ubuntu SMP Tue Oct 1 05:24:09 UTC 2019 x86_64 GNU/Linux
root@7071eaf067d6:/var/www/lprods_docker_root# whereis psql
# psql -v
bash: psql: command not found
Нужно ли это изображение? Если да, то как его использовать?