ฉันมีแอพ Rails ใน docker และ mariadb docker image
แต่มันล้มเหลวระหว่างการเชื่อมต่อบน
2021-11-05 8:27:49 3 [คำเตือน] ยกเลิกการเชื่อมต่อ 3 ถึง db: 'การพัฒนา' ผู้ใช้: 'รูท' โฮสต์: '172.18.0.4' (มีข้อผิดพลาดในการอ่านแพ็กเก็ตการสื่อสาร) ``
ไฟล์นักเทียบท่าของฉันคือ
จากทับทิม:2.6.5
RUN apt-get update; apt-get install -y build-essential nodejs npm vim htop
RUN npm ติดตั้ง --global เส้นด้าย
เรียกใช้ mkdir -p /app
เวิร์คดีอาร์ /app
ENV BUNDLER_VERSION=2.1.4
คัดลอก Gemfile Gemfile.lock /app/
RUN gem ติดตั้งบันเดิล:2.1.4
RUN บันเดิลติดตั้ง -- งาน 20 -- ลองใหม่ 5
การติดตั้งเส้นด้าย RUN --silent --no-progress --no-audit --no-option --check-files
#RUN บันเดิล exec rake db:migrate
# คัดลอกแอปพลิเคชันหลัก
สำเนา ./
เรียกใช้ rm -f /app/tmp/pids/server.pid
เปิดเผย 3000
CMD ["ราง", "เซิร์ฟเวอร์", "-b", "0.0.0.0"]
Mariadb dockerfile คือ (โปรดทราบว่าสำหรับการพัฒนา localhost ของฉันดังนั้นจึงไม่ต้องใช้รหัสผ่าน)
จาก mariadb
RUN apt-get update; apt-get install -y สร้าง vim htop ที่จำเป็น
ENV MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=ใช่
ENV MARIADB_DATABASE=การพัฒนา
ENV MARIADB_USER=ราก
สำเนา ./schema.sql /docker-entrypoint-initdb.d/a-schema.sql
สำเนา ./data.sql /docker-entrypoint-initdb.d/b-data.sql
และไฟล์ผู้แต่ง
บริการ:
แอป:
สร้าง: .
คำสั่ง: bash -c "rm -f tmp/pids/server.pid && Bundle exec rails s -p 3000 -b '0.0.0.0'"
ปริมาณ:
- .:/แอป
พอร์ต:
- "3000:3000"
ลิงค์:
- มาเรียด
สิ่งแวดล้อม:
WEBPACKER_DEV_SERVER_HOST: เว็บแพ็ก
RAILS_ENV: การพัฒนา
RACK_ENV: การพัฒนา
ฐานข้อมูล: การพัฒนา
DB_USERNAME: ราก
DB_HOST: mariadb
การแปลเป็นภาษาท้องถิ่น: cs
ขึ้นอยู่กับ:
- เว็บแพ็ค
มาเรียด:
สร้าง:
บริบท: .
ไฟล์นักเทียบท่า: Dockerfile.mariadb
รีสตาร์ท: เมื่อล้มเหลว
ปริมาณ:
- ./mariadb:/var/lib/mysql
เว็บแพ็ค:
สร้าง: .
คำสั่ง: ./bin/webpack-dev-server
#ปริมาณ:
# - .:/แอป
พอร์ต:
- '3035:3035'
สิ่งแวดล้อม:
NODE_ENV: การพัฒนา
RAILS_ENV: การพัฒนา
WEBPACKER_DEV_SERVER_HOST: 0.0.0.0
เมื่อฉันพยายามเชื่อมต่อจากคอนเทนเนอร์แอปไปยังฐานข้อมูลโดยใช้ mysql_client มันใช้งานได้ แอปยังเริ่มต้นและตรวจสอบการย้ายข้อมูล แต่ในการเลือกครั้งถัดไปจะตกลง
กรุณาข้อเสนอแนะใด ๆ? มันทำให้ฉันบ้า