Gitlab docker container cannot resolve DNS queries
Summary
DNS services are not available in the gitlab/gitlab-ce:latest container when run with parameters dewcribed in Install GitLab using Docker Engine
Steps to reproduce
- execute:
docker run --detach \
--hostname gitlab.gorrunyo.org \
--publish 4431:443 --publish 8081:80 --publish 2201:22 \
--name gitlab \
--restart unless-stopped \
--mount type=volume,src=gitlab-etc,dst=/etc/gitlab,volume-driver=local \
--mount type=volume,src=gitlab-log,dst=/var/log/gitlab,volume-driver=local \
--mount type=bind,src=/datapool/gitlab,dst=/var/opt/gitlab \
gitlab/gitlab-ee:latest
- Modify /etc/gitlab/gitlab.rb to enable mail functions.
### Email Settings
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'gitlab.domain.org'
gitlab_rails['gitlab_email_display_name'] = 'GitLab(Domain)'
gitlab_rails['gitlab_email_reply_to'] = 'noreply@gdomain.org'
gitlab_rails['gitlab_email_subject_suffix'] = ''
gitlab_rails['gitlab_email_smime_enabled'] = false
gitlab_rails['gitlab_email_smime_key_file'] = '/etc/gitlab/ssl/gitlab_smime.key'
gitlab_rails['gitlab_email_smime_cert_file'] = '/etc/gitlab/ssl/gitlab_smime.crt'
gitlab_rails['gitlab_email_smime_ca_certs_file'] = '/etc/gitlab/ssl/gitlab_smime_cas.crt'
### Reply by email
###! Allow users to comment on issues and merge requests by replying to
###! notification emails.
###! Docs: https://docs.gitlab.com/ee/administration/reply_by_email.html
gitlab_rails['incoming_email_enabled'] = true
#### Incoming Email Address
####! The email address including the `%{key}` placeholder that will be replaced
####! to reference the item being replied to.
####! **The placeholder can be omitted but if present, it must appear in the
####! "user" part of the address (before the `@`).**
gitlab_rails['incoming_email_address'] = "user+%{key}@gmail.com"
#### Email account username
####! **With third party providers, this is usually the full email address.**
####! **With self-hosted email servers, this is usually the user part of the
####! email address.**
gitlab_rails['incoming_email_email'] = "user@gmail.com"
#### Email account password
gitlab_rails['incoming_email_password'] = "password"
#### IMAP Settings
gitlab_rails['incoming_email_host'] = "imap.gmail.com"
gitlab_rails['incoming_email_port'] = 993
gitlab_rails['incoming_email_ssl'] = true
gitlab_rails['incoming_email_start_tls'] = false
#### Incoming Mailbox Settings (via `mail_room`)
####! The mailbox where incoming mail will end up. Usually "inbox".
gitlab_rails['incoming_email_mailbox_name'] = "inbox"
### GitLab email server settings
###! Docs: https://docs.gitlab.com/omnibus/settings/smtp.html
###! **Use smtp instead of sendmail/postfix.**
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.gmail.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "user@gmail.com"
gitlab_rails['smtp_password'] = "password"
gitlab_rails['smtp_domain'] = "smtp.gmail.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
gitlab_rails['smtp_openssl_verify_mode'] = 'peer'
What is the current bug behavior?
Gitlab cannot contact SMTP server
Open console and execute:
root@gitlab:/# ssh <local-dns-server-FQN>
ssh: Could not resolve hostname uranus: Temporary failure in name resolution
but when executing:
root@gitlab:/# ssh <local-dns-server-IP>
The authenticity of host 'xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx)' can't be established.
ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Are you sure you want to continue connecting (yes/no)?
What is the expected correct behavior?
Gitlab can access SMTP server and send emails
Relevant logs and/or screenshots
==> /var/log/gitlab/mailroom/current <==,
2020-08-03_02:57:36.36007 bundler: failed to load command: mail_room (/opt/gitlab/embedded/bin/mail_room),
2020-08-03_02:57:36.36015 SocketError: getaddrinfo: Temporary failure in name resolution,
2020-08-03_02:57:36.36016 /opt/gitlab/embedded/lib/ruby/2.6.0/socket.rb:227:in `getaddrinfo',
2020-08-03_02:57:36.36018 /opt/gitlab/embedded/lib/ruby/2.6.0/socket.rb:227:in `foreach',
2020-08-03_02:57:36.36019 /opt/gitlab/embedded/lib/ruby/2.6.0/socket.rb:631:in `tcp',
2020-08-03_02:57:36.36020 /opt/gitlab/embedded/lib/ruby/2.6.0/net/imap.rb:1132:in `tcp_socket',
2020-08-03_02:57:36.36021 /opt/gitlab/embedded/lib/ruby/2.6.0/net/imap.rb:1089:in `initialize',
2020-08-03_02:57:36.36023 /opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/gitlab-mail_room-0.0.6/lib/mail_room/connection.rb:80:in `new',
2020-08-03_02:57:36.36024 /opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/gitlab-mail_room-0.0.6/lib/mail_room/connection.rb:80:in `imap',
2020-08-03_02:57:36.36025 /opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/gitlab-mail_room-0.0.6/lib/mail_room/connection.rb:90:in `log_in',
2020-08-03_02:57:36.36027 /opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/gitlab-mail_room-0.0.6/lib/mail_room/connection.rb:72:in `setup',
2020-08-03_02:57:36.36028 /opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/gitlab-mail_room-0.0.6/lib/mail_room/connection.rb:8:in `initialize',
2020-08-03_02:57:36.36029 /opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/gitlab-mail_room-0.0.6/lib/mail_room/mailbox_watcher.rb:59:in `new',
2020-08-03_02:57:36.36032 /opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/gitlab-mail_room-0.0.6/lib/mail_room/mailbox_watcher.rb:59:in `connection',
2020-08-03_02:57:36.36033 /opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/gitlab-mail_room-0.0.6/lib/mail_room/mailbox_watcher.rb:29:in `run',
2020-08-03_02:57:36.36035 /opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/gitlab-mail_room-0.0.6/lib/mail_room/coordinator.rb:19:in `each',
2020-08-03_02:57:36.36036 /opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/gitlab-mail_room-0.0.6/lib/mail_room/coordinator.rb:19:in `run',
2020-08-03_02:57:36.36037 /opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/gitlab-mail_room-0.0.6/lib/mail_room/cli.rb:58:in `start',
2020-08-03_02:57:36.36038 /opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/gitlab-mail_room-0.0.6/bin/mail_room:5:in `<top (required)>',
2020-08-03_02:57:36.36040 /opt/gitlab/embedded/bin/mail_room:23:in `load',
2020-08-03_02:57:36.36041 /opt/gitlab/embedded/bin/mail_room:23:in `<top (required)>',
2020-08-03_02:57:36.37098 Runit: waiting 5 seconds before restarting mail_room,
Output of checks
(If you are reporting a bug on GitLab.com, write: This bug happens on GitLab.com)
Results of GitLab environment info
Expand for output related to GitLab environment info
(For installations with omnibus-gitlab package run and paste the output of: `sudo gitlab-rake gitlab:env:info`) (For installations from source run and paste the output of: `sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production`)
Results of GitLab application Check
Expand for output related to the GitLab application check
Checking GitLab subtasks ...Checking GitLab Shell ...
GitLab Shell: ... GitLab Shell version >= 13.3.0 ? ... OK (13.3.0) Running /opt/gitlab/embedded/service/gitlab-shell/bin/check Internal API available: OK Redis available via internal API: OK gitlab-shell self-check successful
Checking GitLab Shell ... Finished
Checking Gitaly ...
Gitaly: ... default ... OK
Checking Gitaly ... Finished
Checking Sidekiq ...
Sidekiq: ... Running? ... yes Number of Sidekiq processes ... 1
Checking Sidekiq ... Finished
Checking Incoming Email ...
Incoming Email: ... Checking Reply by email ...
IMAP server credentials are correct? ... Checking gitlab.gorrunyo@gmail.com no Try fixing it: An error occurred: SocketError: getaddrinfo: Temporary failure in name resolution Check that the information in config/gitlab.yml is correct For more information see: doc/administration/reply_by_email.md Please fix the error above and rerun the checks. Init.d configured correctly? ... skipped MailRoom running? ... skipped
Checking Reply by email ... Finished
Checking Incoming Email ... Finished
Checking LDAP ...
LDAP: ... LDAP is disabled in config/gitlab.yml
Checking LDAP ... Finished
Checking GitLab App ...
Git configured correctly? ... yes Database config exists? ... yes All migrations up? ... yes Database contains orphaned GroupMembers? ... no GitLab config exists? ... yes GitLab config up to date? ... yes Log directory writable? ... yes Tmp directory writable? ... yes Uploads directory exists? ... yes Uploads directory has correct permissions? ... yes Uploads directory tmp has correct permissions? ... yes Init script exists? ... skipped (omnibus-gitlab has no init script) Init script up-to-date? ... skipped (omnibus-gitlab has no init script) Projects have namespace: ... can't check, you have no projects Redis version >= 4.0.0? ... yes Ruby version >= 2.5.3 ? ... yes (2.6.6) Git version >= 2.22.0 ? ... yes (2.27.0) Git user has default SSH configuration? ... yes Active users: ... 2 Is authorized keys file accessible? ... yes GitLab configured to store new projects in hashed storage? ... yes All projects are in hashed storage? ... yes Elasticsearch version 6.x - 7.x? ... skipped (elasticsearch is disabled)
Checking GitLab App ... Finished
Checking GitLab subtasks ... Finished
Possible fixes
(If you can, link to the line of code that might be responsible for the problem)