How I could restart the web server in docker

AI 生成的摘要

The discussion revolves around restarting the web server in Docker. berniegao initially asked if there’s a way to restart the web server similar to reloading config files in a manual Rails server installation. watchmanmonitor suggested using ./launcher stop app and ./launcher start app, but berniegao clarified that this method restarts the entire Docker container.

sam then provided the correct method: ./launcher enter app followed by sv restart unicorn. Jared_Smith1 asked if exiting the app is necessary after this step.

The conversation also touched on troubleshooting issues, such as SpaceMonkey encountering an error when trying to run ./launcher enter app, which Stephen helped resolve.

Additionally, trusktr asked if there’s a UI button to restart the server, and jomaxro explained that there isn’t one. trusktr suggested that a UI button for rebuilding would be convenient.

jomaxro clarified that most changes to the app.yml require a rebuild, which cannot be triggered from the UI. Stephen added that some settings, such as SMTP, can be updated and picked up immediately by running ./launcher destroy app and ./launcher start app, while others require a rebuild.

by manual installation, I could cease the rails server to reload the config files. Is there something like the rails server within docker?

@sam

This seems to work for me:

doing so will restart the entire docker container. what I trying to do is to restart the web server without touch the container, such as using “rails server” and then stop it without utilizing docker.

why are you trying to do this, not following at all. Anyway here you go.

cd /var/discourse 
./launcher enter app
sv restart unicorn 

should we exit app after this step? I’m so new to this if it wasn’t obvious

I have discourse installed via docker. After upgrading yesterday my discourse has been down. I am trying to run ./launcher enter app
from
/var/www/discourse/
I am getting the error ./launcher: No such file or directory Is there way for me to search the correct directory for this command?

/var/www/discourse doesn’t exist outside the app, if you can see that path you’re already inside discourse.

Type exit - does that end the ssh connection, or bring you back to /var/discourse?

UI 中有重启服务器的按钮吗?我看到有新版本时会显示升级按钮,我认为那会执行重启,但我没看到专门用于重启的按钮。

没有,确实没有。你为什么需要重启 Web 服务器?你想解决什么问题?

我想重启服务器,看看 app.yml 的更改是否生效。我想可能还需要重新构建。也许在管理界面的升级部分附近添加一个 UI 按钮会更方便。

对 app.yml 的大多数更改都需要重新构建。重新构建无法从 UI 触发,您需要连接到服务器本身,在 Docker 容器外部进行操作。

SMTP 等设置可在 yml 文件中更新,并通过以下命令立即生效:

./launcher destroy app
./launcher start app

而其他内容(包括插件)则需要重新构建。