Tôi có ứng dụng Rails trong docker và cả mariadb docker image.
Nhưng nó không thành công trong khi kết nối trên
2021-11-05 8:27:49 3 [Cảnh báo] Đã hủy kết nối 3 với db: 'Development' user: 'root' Host: '172.18.0.4' (Gặp lỗi khi đọc các gói liên lạc)``
dockerfile của tôi là
TỪ ruby:2.6.5
CHẠY bản cập nhật apt-get; cài đặt apt-get -y build-essential nodejs npm vim htop
CHẠY cài đặt npm --global sợi
CHẠY mkdir -p /ứng dụng
WORKDIR /ứng dụng
ENV BUNDLER_VERSION=2.1.4
SAO CHÉP Gemfile Gemfile.lock /app/
RUN gói cài đặt đá quý:2.1.4
Cài đặt gói RUN --jobs 20 --retry 5
CHẠY cài đặt sợi --silent --no-progress --no-audit --no-tùy chọn --check-files
#RUN bundle exec rake db:migrate
# Sao chép ứng dụng chính.
SAO CHÉP . ./
CHẠY rm -f /app/tmp/pids/server.pid
TIẾP XÚC 3000
CMD ["đường ray", "máy chủ", "-b", "0.0.0.0"]
Mariadb dockerfile là (lưu ý rằng đó là để phát triển máy chủ cục bộ của tôi nên không cần mật khẩu)
TỪ mariadb
CHẠY bản cập nhật apt-get; cài đặt apt-get -y build-essential vim htop
ENV MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=có
ENV MARIADB_DATABASE=phát triển
ENV MARIADB_USER=root
SAO CHÉP ./schema.sql /docker-entrypoint-initdb.d/a-schema.sql
SAO CHÉP ./data.sql /docker-entrypoint-initdb.d/b-data.sql
Và tập tin soạn nhạc
dịch vụ:
ứng dụng:
xây dựng: .
lệnh: bash -c "rm -f tmp/pids/server.pid && bundle exec Rails s -p 3000 -b '0.0.0.0'"
khối lượng:
- .:/ứng dụng
cổng:
- "3000:3000"
liên kết:
- mariadb
môi trường:
WEBACKER_DEV_SERVER_HOST: gói web
Rails_ENV: phát triển
RACK_ENV: phát triển
CƠ SỞ DỮ LIỆU: phát triển
DB_USERNAME: gốc
DB_HOST: mariadb
ĐỊA ĐIỂM: cs
phụ thuộc:
- gói web
mariab:
xây dựng:
bối cảnh: .
dockerfile: Dockerfile.mariadb
khởi động lại: khi thất bại
khối lượng:
- ./mariadb:/var/lib/mysql
gói web:
xây dựng: .
lệnh: ./bin/webpack-dev-server
#tập:
# - .:/ứng dụng
cổng:
- '3035:3035'
môi trường:
NODE_ENV: phát triển
Rails_ENV: phát triển
WEBACKER_DEV_SERVER_HOST: 0.0.0.0
khi tôi cố gắng kết nối từ bộ chứa ứng dụng với cơ sở dữ liệu bằng mysql_client, nó hoạt động, ứng dụng cũng khởi động và kiểm tra di chuyển nhưng trong các lựa chọn tiếp theo sẽ bị lỗi.
Xin vui lòng bất cứ đề nghị? Nó khiến tôi phát điên