diff --git a/executors/kubernetes/executor_kubernetes.go b/executors/kubernetes/executor_kubernetes.go
index 89804b4d858812abbb279e588f9994986ef9cbd5..88ee215ad1a8299a5ce09fc031d44e1fc68af9c1 100644
--- a/executors/kubernetes/executor_kubernetes.go
+++ b/executors/kubernetes/executor_kubernetes.go
@@ -445,6 +445,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 f42497972290c46540ffc52bd1c80cecf2160700..9fbfb519c2aa35d991498bd821d10413b68a87c9 100644
--- a/executors/kubernetes/executor_kubernetes_test.go
+++ b/executors/kubernetes/executor_kubernetes_test.go
@@ -1338,15 +1338,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)