ドッカーの作成リンクを修復する際に問題があります。 ruby rack appとmysqlをリンクし、dbホスト名を解決しようとしています。docker-appとdbのリンクを作成します
ドッキングウィンドウ-compose.yml:雪の
version: '2'
services:
db:
image: library/mysql:5.6.22
environment:
MYSQL_ROOT_PASSWORD: xxx
MYSQL_DATABASE: xxx
MYSQL_USER: xxx
MYSQL_PASSWORD: xxx
ports:
- "3306:3306"
restart: always
snow:
build: .
links:
- db
depends_on:
- db
ports:
- "9292:9292"
restart: always
Dockerfile:
# Docker file for CentOS with RVM
FROM centos:centos7
MAINTAINER "XXXXX"
RUN useradd -ms /bin/bash t_user
RUN echo "t_user ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
WORKDIR "/home/t_user"
RUN yum -y install curl which tar sudo wget git vim mysql-devel
USER t_user
## Install RVM + ruby 2.1.2
RUN gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
RUN curl -sSL https://get.rvm.io | bash -s stable
ENV PATH /usr/local/rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
RUN /bin/bash -l -c "rvm requirements"
RUN /bin/bash -l -c "rvm install ruby-2.1.2"
RUN /bin/bash -l -c "gem install bundler --no-ri --no-rdoc"
# Copy snow
USER t_user
WORKDIR /tmp
ADD Gemfile Gemfile
ADD Gemfile.lock Gemfile.lock
RUN /bin/bash -l -c "bundle"
WORKDIR "/home/t_user"
RUN mkdir -p snow/current/ && mkdir -p snow/shared/config/
COPY . /home/t_user/snow/current/
RUN rm /home/t_user/snow/current/Dockerfile
USER root
RUN chown -R t_user.t_user snow/
USER trusteer
WORKDIR /home/t_user/snow/current/
RUN /bin/bash -l -c "rake db:migrate"
RUN chmod +x ./bin/runner
ENTRYPOINT ["./bin/snow"]
EXPOSE 9292
私が実行しようとした後に-dをドッキングウィンドウを-構成取得エラーは、次のとおりです。
rake aborted!
Mysql2::Error: Unknown MySQL server host 'db' (2)
/home/trusteer/.rvm/gems/ruby-2.1.2/gems/mysql2-0.4.4/lib/mysql2/client.rb:87:in `connect'
/home/trusteer/.rvm/gems/ruby-2.1.2/gems/mysql2-0.4.4/lib/mysql2/client.rb:87:in `initialize'
/home/trusteer/.rvm/gems/ruby-2.1.2/gems/activerecord-4.2.6/lib/active_record/connection_adapters/mysql2_adapter.rb:18:in `new'
/home/trusteer/.rvm/gems/ruby-2.1.2/gems/activerecord-4.2.6/lib/active_record/connection_adapters/mysql2_adapter.rb:18:in `mysql2_connection'
/home/trusteer/.rvm/gems/ruby-2.1.2/gems/activerecord-4.2.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:438:in `new_connection'
/home/trusteer/.rvm/gems/ruby-2.1.2/gems/activerecord-4.2.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:448:in `checkout_new_connection'
/home/trusteer/.rvm/gems/ruby-2.1.2/gems/activerecord-4.2.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:422:in `acquire_connection'
/home/trusteer/.rvm/gems/ruby-2.1.2/gems/activerecord-4.2.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:349:in `block in checkout'
/home/trusteer/.rvm/gems/ruby-2.1.2/gems/activerecord-4.2.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:348:in `checkout'
/home/trusteer/.rvm/gems/ruby-2.1.2/gems/activerecord-4.2.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:263:in `block in connection'
/home/trusteer/.rvm/gems/ruby-2.1.2/gems/activerecord-4.2.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:262:in `connection'
/home/trusteer/.rvm/gems/ruby-2.1.2/gems/activerecord-4.2.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:571:in `retrieve_connection'
/home/trusteer/.rvm/gems/ruby-2.1.2/gems/activerecord-4.2.6/lib/active_record/connection_handling.rb:113:in `retrieve_connection'
/home/trusteer/.rvm/gems/ruby-2.1.2/gems/activerecord-4.2.6/lib/active_record/connection_handling.rb:87:in `connection'
/home/trusteer/.rvm/gems/ruby-2.1.2/gems/activerecord-4.2.6/lib/active_record/migration.rb:916:in `initialize'
/home/trusteer/.rvm/gems/ruby-2.1.2/gems/activerecord-4.2.6/lib/active_record/migration.rb:823:in `new'
/home/trusteer/.rvm/gems/ruby-2.1.2/gems/activerecord-4.2.6/lib/active_record/migration.rb:823:in `up'
/home/trusteer/.rvm/gems/ruby-2.1.2/gems/activerecord-4.2.6/lib/active_record/migration.rb:801:in `migrate'
/home/trusteer/snow/current/Rakefile:10:in `block (2 levels) in <top (required)>'
/home/trusteer/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `eval'
/home/trusteer/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `<main>'
ドッカーの情報:
Containers: 2
Running: 1
Paused: 0
Stopped: 1
Images: 72
Server Version: 1.11.0
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Backing Filesystem: extfs
Dirs: 110
Dirperm1 Supported: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge null host
Kernel Version: 3.13.0-58-generic
Operating System: Ubuntu 14.04.4 LTS
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 7.507 GiB
Name: galt-tp
ID: DKCR:ZB6N:PW4O:76PF:UZPU:HVZO:XHL4:SRPM:6ACQ:M6T5:AZXN:KVPQ
Docker Root Dir: /var/lib/docker
Debug mode (client): false
Debug mode (server): false
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
リンクに関するドッカーのドキュメントがあり、関連するコンテナのDNSレコードがリンクディレクティブに追加されていると言われていますが、それは私には当てはまりません。
私はまだ同じエラーがあります: Mysql2 ::エラー:不明なMySQLサーバーホスト 'db'(2) – gal
@gal私の答えを更新しました。 – Cortwave
さて、私は私の問題を発見した前に投稿しようとしましたが、stackoverflowは私をさせてくれませんでした:) とにかく、あなたは正しい、それは問題だった..私のnewbish :) 10x – gal