我正在尝试使用logstash 同步MySQL 数据库和Elasticsearch 之间的数据。为此,我创建了一个docker-compose文件,为 Elasticsearch、MySQL 和 Logstash 创建容器。
这是文件:
version: '3.1'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.1.1
container_name: pelasticsearch
environment:
- discovery.type=single-node
- cluster.name=docker-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- elasticsearch:/home/django/elasticsearch
ports:
- 9200:9200
db:
image: mysql
container_name: pmysqldb
command: --default-authentication-plugin=mysql_native_password
restart: always
volumes:
- ${PWD}/pdata/data:/docker-entrypoint-initdb.d
environment:
MYSQL_ROOT_PASSWORD: example
MYSQL_DATABASE: ecommerce
adminer:
image: adminer
restart: always
ports:
- 8080:8080
logstash:
image: docker.elastic.co/logstash/logstash:7.1.1
links:
- elasticsearch
volumes:
- ${PWD}/ls_config:/usr/share/logstash/config/
command: bin/logstash-plugin install logstash-input-jdbc …Run Code Online (Sandbox Code Playgroud) 我正在尝试将.backup文件还原到Postgresql数据库。为此,我使用docker-compose文件启动postgres docker容器:
docker-compose.yml
postgresql:
image: postgres
restart: always
ports:
- "5432:5432"
environment:
- POSTGRES_USER:postgres
# - PGDATA:/var/lib/postgresql/data/pgdata/
volumes:
- ${PWD}/project/data/MX/bkup/data:/var/lib/postgresql
command:
- pg_restore -U postgres -d postgres /var/lib/postgresql/ph.backup
Run Code Online (Sandbox Code Playgroud)
当我使用以下命令运行docker-compose文件时:
docker-compose up postgresql
我收到错误:
postgresql:
image: postgres
restart: always
ports:
- "5432:5432"
environment:
- POSTGRES_USER:postgres
# - PGDATA:/var/lib/postgresql/data/pgdata/
volumes:
- ${PWD}/project/data/MX/bkup/data:/var/lib/postgresql
command:
- pg_restore -U postgres -d postgres /var/lib/postgresql/ph.backup
Run Code Online (Sandbox Code Playgroud)
即使文件在卷中,也会发生这种情况
(virtual) med@nid:~/projects/project/pkg$ docker-compose up postgresql
Recreating pkg_postgresql_1 ...
Recreating pkg_postgresql_1 ... done
Attaching to pkg_postgresql_1
postgresql_1 | /usr/local/bin/docker-entrypoint.sh: line …Run Code Online (Sandbox Code Playgroud)