rocker-org / rocker-versioned

Run current & prior versions of R using docker
https://hub.docker.com/r/rocker/r-ver
GNU General Public License v2.0
297 stars 169 forks source link

Ubuntu 20.04 based r-ver already on docker hub? #217

Closed FelixErnst closed 4 years ago

FelixErnst commented 4 years ago

Hi,

I had a problem with some unexpected behaviour using rocker/r-ver:latest yesterday. The system didn't seem to be non-interactive anymore. Upon investigation I noticed that r-ver:latest is based on ubuntu:20.04, but I haven't found any announcement regarding the switch (I know it is coming but I thought it was going to ubuntu:18.04 first).

Here is some output

(base) ernstf@ ~ % docker pull rocker/r-ver:latest
latest: Pulling from rocker/r-ver
d51af753c3d3: Pull complete 
fc878cd0a91c: Pull complete 
6154df8ff988: Pull complete 
fee5db0ff82f: Pull complete 
c86b5b5c0c52: Pull complete 
2c0783ae8763: Pull complete 
Digest: sha256:f22a58b531e71a1dadf1d8c6e6848f9ecae07ff1291444c578a8f4f1b2dc974e
Status: Downloaded newer image for rocker/r-ver:latest
docker.io/rocker/r-ver:latest

(base) ernstf@ ~ % docker run -it rocker/r-ver:latest bash
root@a671ec6769f0:/# cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
root@a671ec6769f0:/# 

side note: Should non-interactive debconf setting in ubuntu also be configurable by settingDEBIAN_FRONTEND=noninteractive?

Thanks for any advice on any of this.

Felix

cboettig commented 4 years ago

@FelixErnst Thanks for the bug report and sorry about not announcing this change more clearly -- we have some more detailed documentation coming but are still working out a few kinks from the transition with help from community testers like yourself!

The old versions are still available at rocker/r-ver:3.6.3 if you need those for production. Meanwhile, we'd much appreciate any bug reports you come across.

Re setting DEBIAN_FRONTEND, you're correct that we don't set that, but I believe that was not set in 3.6.3 either, witness: docker run -it rocker/r-ver:3.6.3 echo $DEBIAN_FRONTEND. As you probably know, while setting this as an ENV variable is a common pattern, is is also explicitly advised against doing so in https://docs.docker.com/engine/faq/ since it can have unexpected consequences downstream.

Please let us know if you hit any other unexpected behavior. We think for most users the change to ubuntu LTS should be relatively invisible, and will allow us to improve stability and features. It also gives us greater compatibility with tools built for ubuntu-LTS-based CI platforms (travis, GH-actions) NVIDIA cuda libraries, and RSPM.

FelixErnst commented 4 years ago

@cboettig Thanks for the reply. While the switch to ubuntu was I guess in the pipeline for half a year, I was surprised not to find anything in the documentation. In addition, the Dockerfile content on docker hub does not reflect the change for some reason (https://hub.docker.com/r/rocker/r-ver/dockerfile), which makes it really weird to debug.

I would like to add, that the change from Debian to ubuntu might come with some additional side effects: differences in the dependency tree for some packages, which have the same name. That was the issue for me and it involved the package imagemagick-doc. For some reason it was in my Dockerfile as a dependency (it works fine without), but on ubuntu the package keyboard-configuration is in the dependencies and this requires input, which cannot be yesd usingapt-get -y`.

So maybe this is just a heads up.