Вот мой docker -компонентный файл. У меня есть служба очистки, которая передает API рельсов (data_api):
version: '3'
services:
redis-server:
image: redis
restart: always
scrapper:
image: davidgeismar/artifacts-scrapper:without-db
command: "bundle exec rake scrap_sources:scrap\"[['christies'],nil,[2019]]\""
volumes:
- ./logs/artifacts_scrapper:/usr/src/artifacts_scrapper/log
environment:
- REDIS_URL=redis://redis-server:6379/0
- ARTIFACTS_ENV=docker_development
- DATA_API_BASE=http://data_api:3000
depends_on:
- data_api
- redis-server
data_api:
volumes:
- ./logs/artifacts_data_api:/artifacts_data_api/log
image: davidgeismar/artifacts_data_api:latest
command: 'rails server -b 0.0.0.0'
environment:
- RAILS_ENV=docker_development
- SECRET_KEY_BASE=docker_development_secret
sidekiq:
volumes:
- ./logs/sidekiq/scrapper:/usr/src/artifacts_scrapper/log
image: davidgeismar/artifacts-scrapper:without-db
command: 'bundle exec sidekiq -r ./artifacts_scrapper.rb 2>&1 | tee ./log/sidekiq.log'
environment:
- REDIS_URL=redis://redis-server:6379/0
- ARTIFACTS_ENV=docker_development
- DATA_API_BASE=http://data_api:3000
depends_on:
- redis-server
- data_api
Я выполняю его с docker-compose pull && docker-compose up --build
Однако data_api продолжает выходить, сообщая мне:
data_api_1 | A server is already running. Check /artifacts_data_api/tmp/pids/server.pid.
событие, хотя в моем dockerfile для этой службы у меня есть:
RUN rm -f ./tmp/pids/server.pid
Кроме того, я получаю SocketError: Failed to open TCP connection to data_api:3000 (getaddrinfo: Name or service not known)
для службы очистки, которую я не могу понять, почему это происходит.
Все контейнеры доступны и доступны из Dockerhub. Код для службы скребков: https://github.com/davidgeismar/artifacts-scrapper/tree/removing-db
и для data_api: https://github.com/davidgeismar/artifacts_data_api