Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why does this apt-key adv command give an error?

Tags:

docker

This is a snippet of a Dockerfile that is exhibiting an error that I don't understand:

FROM dorowu/ubuntu-desktop-lxde-vnc
LABEL maintainer "[email protected]"

# Adding keys for ROS
RUN sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
RUN apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

Gives this result

RUN apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
 ---> Running in 7bb30729ec87
Warning: apt-key output should not be parsed (stdout is not a terminal)
Executing: /tmp/apt-key-gpghome.HkofyyhjvI/gpg.1.sh --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
gpg: failed to start the dirmngr '/usr/bin/dirmngr': No such file or directory
gpg: connecting dirmngr at '/tmp/apt-key-gpghome.HkofyyhjvI/S.dirmngr' failed: No such file or directory
gpg: keyserver receive failed: No dirmngr
The command '/bin/sh -c apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116' returned a non-zero code: 2
like image 512
pitosalas Avatar asked Jan 30 '26 23:01

pitosalas


1 Answers

According to this post here, you need to install dirmngr. I also needed to install gnupg in order to get this to work on my local docker container when testing.

I updated your Dockerfile code below with my changes:

FROM dorowu/ubuntu-desktop-lxde-vnc
LABEL maintainer "[email protected]"

# Update
RUN apt-get update && \
  apt-get upgrade -y

# Install required packages
RUN apt-get install -y \
  dirmngr \
  gnupg

# Adding keys for ROS
RUN sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

RUN apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

This gave me the following output on the last step:

Step 6/6 : RUN apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
 ---> Running in a0cfb3588173
Warning: apt-key output should not be parsed (stdout is not a terminal)
Executing: /tmp/apt-key-gpghome.USze27holj/gpg.1.sh --keyserver hkp://pgp.mit.edu:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
gpg: key 5523BAEEB01FA116: public key "ROS Builder <[email protected]>" imported
gpg: Total number processed: 1
gpg:               imported: 1

Occasionally this reports back with the following error:

gpg: keyserver receive failed: Cannot assign requested address

That error doesn't seem consistent though, so it could be something with my own network connection.

like image 162
Brian Elliott Avatar answered Feb 03 '26 10:02

Brian Elliott



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!