разница между отсоединением и интерактивным режимом

Если я запускаю контейнер в автономном режиме, он работает, как и ожидалось, как показано ниже. Но если я запускаю его в интерактивном режиме, порт 9200 не назначается для elasticsearch, как ожидалось.

# docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node"  -d elasticsearch:7.3.1
650a7ec48812325631183d1c9d53e7d6d81ab296bfe9d8076593471aede4fa43

# docker exec -it 650a7ec48812325631183d1c9d53e7d6d81ab296bfe9d8076593471aede4fa43 bash

[root@650a7ec48812 elasticsearch]# curl http://localhost:9200/
{
  "name" : "650a7ec48812",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "soPITNmpTimq7KJApj9s9A",
  "version" : {
    "number" : "7.3.1",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "4749ba6",
    "build_date" : "2019-08-19T20:19:25.651794Z",
    "build_snapshot" : false,
    "lucene_version" : "8.1.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

Насколько я понимаю, режимы отсоединения и интерактивные/терминальные одинаковы (один продолжает работать в том же потоке, а другой создает новый). Может кто-нибудь объяснить разницу между этими двумя режимами запуска образа докера?

# docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -it elasticsearch:7.3.1 bash

# curl http://localhost:9200/
curl: (7) Failed to connect to ::1: Cannot assign requested address

person shantanuo    schedule 06.09.2019    source источник


Ответы (1)


это потому, что elasticsearch не запущен, так как вы перезаписываете CMD, контейнер будет работать до bash, который не имеет ничего общего между режимами...

person LinPy    schedule 06.09.2019
comment
Могу ли я запустить эластичный и по-прежнему использовать интерактивный режим? - person shantanuo; 06.09.2019
comment
не уверен, попробуйте что-то вроде runuser -l elasticsearch -c "./bin/elasticsearch -d -p pid", так как вы не можете запустить его как root - person LinPy; 06.09.2019