Я використовую зображення докера GitLab CE і хочу виставити GitLab на різних портах від хоста.
Я прочитав деякі інструкції з офіційну документацію:
Щоб розкрити веб-інтерфейс на службі 8929 і службі SSH за адресою 2289, скористайтеся наступною командою запуску докера:
sudo docker run --detach
--hostname gitlab.example.com
--publish 8929:80 --publish 2289:22
...
gitlab/gitlab-ce:latest
Другий, вам потрібно налаштувати gitlab.rb:
#Set external_url:
external_url "http://gitlab.example.com:8929/"
...
# Set gitlab_shell_ssh_port:
gitlab_rails["gitlab_shell_ssh_port"] = 2289
але після запуску контейнера я знайшов це в контейнері gitlab можна отримати з http://localhost:8929 але ні http://localhost:80.
Можливо, документ робить помилку, але помилка настільки дурна, я не впевнений.
Я думаю, що другий крок не потрібен, чи не так?
Відповіді:
0 для відповіді № 1Все працює як слід? Можливо, вам потрібно перефразувати своє запитання, щоб вказати, що ви хочете зробити, але це так:
Контейнер Docker розкриває порт 80. Тепер, вказавши --publish 8929:80
У командному рядку повідомляється, що порт 80 доступний на порту 8929 на хості. Ось чому http://localhost:8929 правильно показує установку Gitlab.
Це також означає, що встановлення порту у зовнішньому URL-адресі дійсно є необхідним, інакше Gitlab не зможе правильно будувати URL-адреси, які посилаються на інсталяцію.
Якщо ви просто хочете використовувати виставлені порти дословно, без перепризначення, просто використовуйте -P
прапор для docker run
.
Для отримання додаткової інформації див Документація Docker