Hi everyone,
I would love to use docker pipeline but my Ruby on Rails app needs Postgresql 9.5. When using
FROM ruby:2.2.1 RUN apt-get update \ && apt-get install -y postgresql postgresql-contrib \ && apt-get install sudo \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
I'm getting the 9.4 version and adding apt-get to the 9.5 apt-get install -y gives me an error that the package is not found. I've read that adding packages to apt get can be done as
RUN sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list' RUN wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add -
but this doesn't work in the dockerfile
Please help
Greetings,
PJ
Hi PJ,
Try this and let me know if it works?
FROM ruby:2.2.1 RUN sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main" >> /etc/apt/sources.list.d/pgdg.list' \ && wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | apt-key add - \ && apt-get update \ && apt-get install -y postgresql-9.5 postgresql-contrib-9.5 \ && apt-get install sudo \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* # This Dockerfile doesn't need to have an entrypoint and a command # as Bitbucket Pipelines will overwrite it with a bash script.
You are already root so you don't need to run commands with sudo. And I found a different way to update the sources from the Docker documentation.
Cheers,
Sten
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.