Shell script installation fails in centos 7 container

I use this runner in a docker container (based on the centos/centos7 image).

I try to use shell script installer and it fails:

[root@cirunner /]# curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.rpm.sh | bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  5186    0  5186    0     0    807      0 --:--:--  0:00:06 --:--:--  1357
Detected centos version 7... 
Checking for curl...
Detected curl...
Getting the hostname of this machine...
Found hostname: cirunner
Downloading repository file: https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/config_file.repo?os=centos&dist=7&name=cirunner&source=script
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   577    0   577    0     0    399      0 --:--:--  0:00:01 --:--:--   399
done.
Installing pygpgme to verify GPG signatures...
Loaded plugins: fastestmirror
runner_gitlab-ci-multi-runner-source/signature              |  836 B  00:00:00     
Retrieving key from https://packages.gitlab.com/gpg.key
runner_gitlab-ci-multi-runner-source/signature              |  951 B  00:00:00 !!! 
Traceback (most recent call last):
  File "/usr/bin/yum", line 29, in <module>
    yummain.user_main(sys.argv[1:], exit_code=True)
  File "/usr/share/yum-cli/yummain.py", line 367, in user_main
    errcode = main(args)
  File "/usr/share/yum-cli/yummain.py", line 174, in main
    result, resultmsgs = base.doCommands()
  File "/usr/share/yum-cli/cli.py", line 571, in doCommands
    return self.yum_cli_commands[self.basecmd].doCommand(self, self.basecmd, self.extcmds)
  File "/usr/share/yum-cli/yumcommands.py", line 440, in doCommand
    return base.installPkgs(extcmds, basecmd=basecmd)
  File "/usr/share/yum-cli/cli.py", line 967, in installPkgs
    txmbrs = self.install(pattern=arg)
  File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 4764, in install
    mypkgs = self.pkgSack.returnPackages(patterns=pats,
  File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 1079, in <lambda>
    pkgSack = property(fget=lambda self: self._getSacks(),
  File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 784, in _getSacks
    self.repos.populateSack(which=repos)
  File "/usr/lib/python2.7/site-packages/yum/repos.py", line 344, in populateSack
    self.doSetup()
  File "/usr/lib/python2.7/site-packages/yum/repos.py", line 157, in doSetup
    self.retrieveAllMD()
  File "/usr/lib/python2.7/site-packages/yum/repos.py", line 88, in retrieveAllMD
    dl = repo._async and repo._commonLoadRepoXML(repo)
  File "/usr/lib/python2.7/site-packages/yum/yumRepo.py", line 1456, in _commonLoadRepoXML
    result = self._getFileRepoXML(local, text)
  File "/usr/lib/python2.7/site-packages/yum/yumRepo.py", line 1234, in _getFileRepoXML
    size=102400) # setting max size as 100K
  File "/usr/lib/python2.7/site-packages/yum/yumRepo.py", line 1022, in _getFile
    **kwargs
  File "/usr/lib/python2.7/site-packages/urlgrabber/mirror.py", line 448, in urlgrab
    return self._mirror_try(func, url, kw)
  File "/usr/lib/python2.7/site-packages/urlgrabber/mirror.py", line 425, in _mirror_try
    return func_ref( *(fullurl,), opts=opts, **kw )
  File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 1172, in urlgrab
    return self._retry(opts, retryfunc, url, filename)
  File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 1064, in _retry
    r = apply(func, (opts,) + args, {})
  File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 1166, in retryfunc
    _run_callback(opts.checkfunc, obj)
  File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 1032, in _run_callback
    return cb(obj, *arg, **karg)
  File "/usr/lib/python2.7/site-packages/yum/yumRepo.py", line 1700, in _checkRepoXML
    self.gpg_import_func(self, self.confirm_func)
  File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 6352, in getKeyForRepo
    self._getAnyKeyForRepo(repo, repo.gpgdir, repo.gpgkey, is_cakey=False, callback=callback)
  File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 6271, in _getAnyKeyForRepo
    if hex(int(info['keyid']))[2:-1].upper() in misc.return_keyids_from_pubring(destdir):
  File "/usr/lib/python2.7/site-packages/yum/misc.py", line 598, in return_keyids_from_pubring
    for k in ctx.keylist():
gpgme.GpgmeError: (7, 32870, u'Inappropriate ioctl for device')
Installing yum-utils...
Loaded plugins: fastestmirror
runner_gitlab-ci-multi-runner-source/signature              |  836 B  00:00:00     
Retrieving key from https://packages.gitlab.com/gpg.key
runner_gitlab-ci-multi-runner-source/signature              |  951 B  00:00:00 !!! 
Traceback (most recent call last):
  File "/usr/bin/yum", line 29, in <module>
    yummain.user_main(sys.argv[1:], exit_code=True)
  File "/usr/share/yum-cli/yummain.py", line 367, in user_main
    errcode = main(args)
  File "/usr/share/yum-cli/yummain.py", line 174, in main
    result, resultmsgs = base.doCommands()
  File "/usr/share/yum-cli/cli.py", line 571, in doCommands
    return self.yum_cli_commands[self.basecmd].doCommand(self, self.basecmd, self.extcmds)
  File "/usr/share/yum-cli/yumcommands.py", line 440, in doCommand
    return base.installPkgs(extcmds, basecmd=basecmd)
  File "/usr/share/yum-cli/cli.py", line 967, in installPkgs
    txmbrs = self.install(pattern=arg)
  File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 4764, in install
    mypkgs = self.pkgSack.returnPackages(patterns=pats,
  File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 1079, in <lambda>
    pkgSack = property(fget=lambda self: self._getSacks(),
  File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 784, in _getSacks
    self.repos.populateSack(which=repos)
  File "/usr/lib/python2.7/site-packages/yum/repos.py", line 344, in populateSack
    self.doSetup()
  File "/usr/lib/python2.7/site-packages/yum/repos.py", line 157, in doSetup
    self.retrieveAllMD()
  File "/usr/lib/python2.7/site-packages/yum/repos.py", line 88, in retrieveAllMD
    dl = repo._async and repo._commonLoadRepoXML(repo)
  File "/usr/lib/python2.7/site-packages/yum/yumRepo.py", line 1456, in _commonLoadRepoXML
    result = self._getFileRepoXML(local, text)
  File "/usr/lib/python2.7/site-packages/yum/yumRepo.py", line 1234, in _getFileRepoXML
    size=102400) # setting max size as 100K
  File "/usr/lib/python2.7/site-packages/yum/yumRepo.py", line 1022, in _getFile
    **kwargs
  File "/usr/lib/python2.7/site-packages/urlgrabber/mirror.py", line 448, in urlgrab
    return self._mirror_try(func, url, kw)
  File "/usr/lib/python2.7/site-packages/urlgrabber/mirror.py", line 425, in _mirror_try
    return func_ref( *(fullurl,), opts=opts, **kw )
  File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 1172, in urlgrab
    return self._retry(opts, retryfunc, url, filename)
  File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 1064, in _retry
    r = apply(func, (opts,) + args, {})
  File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 1166, in retryfunc
    _run_callback(opts.checkfunc, obj)
  File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 1032, in _run_callback
    return cb(obj, *arg, **karg)
  File "/usr/lib/python2.7/site-packages/yum/yumRepo.py", line 1700, in _checkRepoXML
    self.gpg_import_func(self, self.confirm_func)
  File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 6352, in getKeyForRepo
    self._getAnyKeyForRepo(repo, repo.gpgdir, repo.gpgkey, is_cakey=False, callback=callback)
  File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 6271, in _getAnyKeyForRepo
    if hex(int(info['keyid']))[2:-1].upper() in misc.return_keyids_from_pubring(destdir):
  File "/usr/lib/python2.7/site-packages/yum/misc.py", line 598, in return_keyids_from_pubring
    for k in ctx.keylist():
gpgme.GpgmeError: (7, 32870, u'Inappropriate ioctl for device')
Generating yum cache for runner_gitlab-ci-multi-runner...
Traceback (most recent call last):
  File "/usr/bin/yum", line 29, in <module>
    yummain.user_main(sys.argv[1:], exit_code=True)
  File "/usr/share/yum-cli/yummain.py", line 367, in user_main
    errcode = main(args)
  File "/usr/share/yum-cli/yummain.py", line 174, in main
    result, resultmsgs = base.doCommands()
  File "/usr/share/yum-cli/cli.py", line 571, in doCommands
    return self.yum_cli_commands[self.basecmd].doCommand(self, self.basecmd, self.extcmds)
  File "/usr/share/yum-cli/yumcommands.py", line 1367, in doCommand
    base.repos.doSetup()
  File "/usr/lib/python2.7/site-packages/yum/repos.py", line 157, in doSetup
    self.retrieveAllMD()
  File "/usr/lib/python2.7/site-packages/yum/repos.py", line 88, in retrieveAllMD
    dl = repo._async and repo._commonLoadRepoXML(repo)
  File "/usr/lib/python2.7/site-packages/yum/yumRepo.py", line 1456, in _commonLoadRepoXML
    result = self._getFileRepoXML(local, text)
  File "/usr/lib/python2.7/site-packages/yum/yumRepo.py", line 1234, in _getFileRepoXML
    size=102400) # setting max size as 100K
  File "/usr/lib/python2.7/site-packages/yum/yumRepo.py", line 1022, in _getFile
    **kwargs
  File "/usr/lib/python2.7/site-packages/urlgrabber/mirror.py", line 448, in urlgrab
    return self._mirror_try(func, url, kw)
  File "/usr/lib/python2.7/site-packages/urlgrabber/mirror.py", line 425, in _mirror_try
    return func_ref( *(fullurl,), opts=opts, **kw )
  File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 1172, in urlgrab
    return self._retry(opts, retryfunc, url, filename)
  File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 1064, in _retry
    r = apply(func, (opts,) + args, {})
  File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 1166, in retryfunc
    _run_callback(opts.checkfunc, obj)
  File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 1032, in _run_callback
    return cb(obj, *arg, **karg)
  File "/usr/lib/python2.7/site-packages/yum/yumRepo.py", line 1700, in _checkRepoXML
    self.gpg_import_func(self, self.confirm_func)
  File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 6352, in getKeyForRepo
    self._getAnyKeyForRepo(repo, repo.gpgdir, repo.gpgkey, is_cakey=False, callback=callback)
  File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 6271, in _getAnyKeyForRepo
    if hex(int(info['keyid']))[2:-1].upper() in misc.return_keyids_from_pubring(destdir):
  File "/usr/lib/python2.7/site-packages/yum/misc.py", line 598, in return_keyids_from_pubring
    for k in ctx.keylist():
gpgme.GpgmeError: (7, 32870, u'Inappropriate ioctl for device')

If I set repo_gpgcheck=0 in /etc/yum.repos.d/runner_gitlab-ci-multi-runner.repo I can install the package without any problems.

I'm sure this issue isn't related to the runner itself, but I think its good to have this issue here for documentation and tracking purposes.