diff --git a/executors/kubernetes/executor_kubernetes.go b/executors/kubernetes/executor_kubernetes.go
index d0bd1c3fc3515f46d275f58a075d09382d59c0d2..76f44de1e61300007bc48d7a27abeb837f561372 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 061881fa52219efad9c4346432220c3e284b2554..343709330d2d83e64eb5501eb11659ca46cb03a9 100644
--- a/executors/kubernetes/executor_kubernetes_test.go
+++ b/executors/kubernetes/executor_kubernetes_test.go
@@ -1295,15 +1295,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)