diff --git a/executors/kubernetes/executor_kubernetes.go b/executors/kubernetes/executor_kubernetes.go
index 1257eb5203b60b7abb16a1b65dfbb6a81f1e1e84..53157d734107a6934af7455168e10428f7a707d0 100644
--- a/executors/kubernetes/executor_kubernetes.go
+++ b/executors/kubernetes/executor_kubernetes.go
@@ -440,6 +440,10 @@ func (s *executor) setupBuildPod() error {
 
 		_, _, _, aliases := common.SplitServiceAndVersion(service.Name)
 		for _, a := range aliases {
+			// skip Docker-like host aliases, respecting DNS-1123
+			if strings.Contains(a, "__") {
+				continue
+			}
 			servicesHostAlias.Hostnames = append(servicesHostAlias.Hostnames, a)
 		}
 		if service.Alias != "" {
diff --git a/executors/kubernetes/executor_kubernetes_test.go b/executors/kubernetes/executor_kubernetes_test.go
index b21c560334b7bad97955f91d4bf0880f3b570df7..3dac7ff942efc2c479fef03385ea128faa442e9d 100644
--- a/executors/kubernetes/executor_kubernetes_test.go
+++ b/executors/kubernetes/executor_kubernetes_test.go
@@ -1266,15 +1266,19 @@ func TestSetupBuildPod(t *testing.T) {
 					{
 						Name: "docker:dind",
 					},
+					{
+						Name: "selenium/standalone-chrome",
+					},
 				},
 			},
 			VerifyFn: func(t *testing.T, test setupBuildPodTestDef, pod *api.Pod) {
-				require.Len(t, pod.Spec.Containers, 4)
+				require.Len(t, pod.Spec.Containers, 5)
 
 				expectedHostnames := []string{
 					"test-service",
 					"svc-alias",
 					"docker",
+					"selenium-standalone-chrome",
 				}
 				assert.Equal(t, "127.0.0.1", pod.Spec.HostAliases[0].IP)
 				assert.Equal(t, expectedHostnames, pod.Spec.HostAliases[0].Hostnames)