I need to create Rails and Mysql containers with docker-compose. When I try to create links between containers with docker-compose up
, I get
Cannot start container 9b271c58cf6aecaf017dadaf5b Cannot link to a non running container: /puma_db_1 AS /puma_web_1/db
Files
Dockerfile
FROM ubuntu:14.04 RUN apt-get -y update RUN apt-get -y install git curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev RUN apt-get -y install libmysqlclient-dev RUN git clone https://github.com/sstephenson/rbenv.git /root/.rbenv RUN git clone https://github.com/sstephenson/ruby-build.git /root/.rbenv/plugins/ruby-build RUN echo 'eval "$(rbenv init -)"' >> $HOME/.profile RUN echo 'eval "$(rbenv init -)"' >> $HOME/.bashrc RUN rbenv install 2.1.5 RUN rbenv global 2.1.5 RUN gem install rails -v 4.0.11 ADD app.tar.gz /home/ WORKDIR /home/app RUN bundle install EXPOSE 3000 CMD ["rails", "server", "-b", "0.0.0.0"]
docker-compose.yml
db: image: mysql:latest environment: MYSQL_DATABASE: app_development MYSQL_USER: mysql DATABASE_PASSWORD: onetwo ROOT_PASSWORD: onetwo web: build: . command: bundle exec rails s -p 3000 -b '0.0.0.0' ports: - "4000:3000" links: - db
Most likely the db
container fails to start.
Make sure it works fine by starting only the db
service. You can do that with the following command:
docker-compose up db
If it appears the MySQL service is not running after this command, then you found the origin of your problem.
Not specifically related to MySQL but more the message ERROR: for <service> Cannot link to a non running container: /b2f21b869ccc_<dependency>_1 AS /<service>_1/<dependency>_1
I found that the dependency container had a different id than the one given (b2f21b869ccc
in my example above)
Solved simply by running docker-compose up -d --force-recreate <service>
which caused it to recreate the dependency and fix the link to the correct docker id
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With