LINUX.ORG.RU
решено ФорумAdmin

докер dokcer containerd - запуск на фиксированом порту

 , , , ,


0

1
netstat -tlpn 

tcp        0      0 127.0.0.1:64123         0.0.0.0:*               LISTEN      619/containerd      




как заставить его запускаться не на рандомном порту?)

у меня там docker-compose

и

network_mode: host

там нет никакого указания портов

★★★★★

Последнее исправление: smilessss (всего исправлений: 2)

Ответ на: комментарий от zolden

Какая стоит задача

задача стоит зафиксировать этот порт условно на 1234

чтобы оно не пыталась стучаться на рандомные порты

это вызывает проблемы, контейнера могут упасть если оно попробует занять порт, который уже занят

я чесно говоря в недоумении зачем они так сделали, даже в мане нет конкретики где указать ему порт и зачем он вообще при запуске слушает рандомный порт

smilessss ★★★★★
() автор топика
Ответ на: комментарий от sfedosenko

у меня там docker-compose

и

network_mode: host

там нет никакого указания портов

вопрос был про то, как указать порт для containerd

а не как пускать контейнера на каких-то портах

контейнера там вообще не при чём

тут в архитектуре containerd проблема - оно при запуске даже без контейнеров занимает рандомный порт, это плохое поведение ведёт к непредсказуемы последствиям

smilessss ★★★★★
() автор топика
Последнее исправление: smilessss (всего исправлений: 2)
Ответ на: комментарий от smilessss

Вроде бы тут:

/etc/containerd/config.toml

[plugins."io.containerd.grpc.v1.cri"]
stream_server_address = "127.0.0.1"
stream_server_port = "22333"

Получилось такое:

# ss -ltunp | grep containerd
tcp   LISTEN 0      4096            127.0.0.1:22333      0.0.0.0:*    users:(("containerd",pid=18936,fd=13)

И каталог /etc/containerd и файлы в нем config.toml и debug.toml создавал вручную

Toxo2 ★★★
()

Прописать порт в файле docker-compose.yml

Вот часть такого файла для примера как прописать порт:

version: '3'
services:
  ggr:
    image: "aerokube/ggr:1.6.7"
    networks:
      selenoid: null
    ports:
      - "4444:4444"
    volumes:
      - "./conf:/etc/grid-router"
    command: ["--listen", ":4444", "--guests-allowed", "--verbose"]
    restart: always
.....
vdk10
()

docker run -d -p 3000:80 -e PORT=80 –rm –name mycontainer myimage "# -e PORT=80 так мы можем задать порт внутри контейнера

–rm означает что контейнер удалится после остановки"

хз может то что ты имеешь ввиду

pil25
()