Docker Convenience Images Updates: July 2019

This Month’s Changes

Updates

  • OpenJDK will be updated to v11 in the -browsers variant images.

Changes

  • The apt-get index cache is no longer present in images. If your image uses sudo apt-get install, after this update it will fail unless you first run sudo apt-get update. It’s often best to do is do this all in one command—for example, sudo apt-get update && sudo apt-get install <my-package>.

New

  • Debian 10-based images. Debian 10 “Buster” was released on July 6th. For our images that offer variant distros, -buster will be an option.

If you have any questions, please let us know here.

1 Like

After the update and after implementing your suggestion for apt-get update we’re getting errors when trying to apt-get install the mysql client libraries.

Package mysql-client is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'mysql-client' has no installation candidate
Exited with code 100
1 Like

I get the same error
even when I ssh into the machine and run
circleci@dae26521e68a:~$ sudo apt-get update && sudo apt-get install mysql-client
I get
Hit:1 http:// security. debian. org/debian-security buster/updates InRelease
Hit:2 http:// deb.debian . org/debian buster InRelease
Hit:3 http:// deb.debian. org/debian buster-updates InRelease
Reading package lists… Done
Reading package lists… Done
Building dependency tree
Reading state information… Done
Package mysql-client is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package ‘mysql-client’ has no installation candidate

I fixed it by replacing it with default-mysql-client

@chmorik @tomvo This could be caused by a change in the upstream image to be based on Debian Buster instead of Stretch. To confirm if this is the case, you can try using a pinned SHA version of the Docker image used in your last successful job, or use our “stretch” Docker image tags

I can confirm it’s based on the update to Buster, i tried to do what you suggested before. The default buster repo does not contain the mysql-client package:

image

Thank you
Its working now

@tomvo, @chmorik,

Thanks for letting us know and I’m happy to see that this issue was resolved for you. Quick question, can you let me know which image you’re using in your CircleCI config?

This way I can look into this and make sure we update any instructions anywhere if needed.

Thank you.

@FelicianoTech we ran into the same issue, and we ended up using this image:

circleci/ruby@sha256:e6efae06ccff7a81e957565a74ef1ebdaddadf36fdaff79c3d9605f9789a48e2

HTH,

Alex

Which image were you using with the problem?

image used with the problem:
image circleci/ruby@sha256:62543199368a5bc22d330e87a87722f6f81e472a124e42dee25d98604704c19c

@FelicianoTech We use circleci/php:7.2-fpm-browsers

Now I’m using
using image circleci/ruby@sha256:dc05d8f948024cd468b46c0e4d20d76d6439936f90526aac5e312b9bd359d41c
and running
sudo apt install -y default-mysql-client
and its working
but something else isn’t working:

bin/rails db:schema:load --trace
rails aborted!
LoadError: libmariadbclient.so.18: cannot open shared object file: No such file or directory - /home/circleci/myapp/vendor/bundle/ruby/2.6.0/gems/mysql2-0.5.2/lib/mysql2/mysql2.so

@chmorik Hi, could you try using a Stretch-based version of circleci/ruby (if your last successful job was using an image based on Stretch)?

Some info:

The mysql-client issue here was that in Debian 10 “Buster” they changed the package names to match the actual database that Debian offers. Instead of shipping MySQL Debian ships MariaDB, which is an almost 1:1 replacement.

As such, mysql-client becomes mariadb-client. Many other packages with mysql- in the name will follow this pattern.

Sorry @t4n6a1ka, this doesn’t make much sense in English, and I doubt you’ll get much of an answer. Note though that I am just a CircleCI user, and not an employee.

This would probably be best in its own forum thread, but it appears you have created four others recently, so maybe you don’t need a fifth :grin: