Skip to content

qx9911/docker-python-mysql-webui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

docker-python-mysql-webui

HOST: 192.168.16.240 Date: 2025-8-12

建立一個完整 Ubuntu 24 Docker 環境,並運行 Python Web UI + MySQL 的所有正確步驟總結:

  1. 建立 Dockerfile 創建一個名為 Dockerfile 的檔案,內容如下。這個檔案將會: 使用 Ubuntu 24.04 作為基礎映像。 安裝 Python、pip、MySQL、OpenSSH 等必要套件。 安全地設定 SSH 和 MySQL 的 root 密碼。 安裝 Flask 和 MySQL 連接器的 Python 套件。

[Dockerfile]

  1. 建立 Python Web UI 程式 在與 Dockerfile 相同的目錄下,創建一個名為 app.py 的檔案,內容如下:

[app.py]

  1. 建置 Docker 映像 在包含 Dockerfile 和 app.py 的目錄中,執行以下指令來建置 Docker 映像:

docker build -t nads-docker .

  1. 啟動 Docker 容器 建置成功後,啟動容器並將 Port 轉發到主機:

docker run -d -p 2222:22 -p 5000:5000 --name my-ubuntu-server nads-docker

  1. 登入容器並設定資料庫 SSH 登入:

ssh root@localhost -p 2222 password: xa......

建立資料庫: 在容器終端機中,登入 MySQL 並建立資料庫。

mysql -u root -p

密碼是 xara5463

mysql> CREATE DATABASE webui_db; mysql> exit;

  1. 執行並測試 Web UI 執行應用程式: 在容器終端機中,執行 Python 應用程式。 python3 app.py

瀏覽器測試: 在您的本機電腦上,開啟瀏覽器並訪問 http://localhost:5000。您應該會看到成功的網頁訊息。


其他指令


將 root 使用者的身分驗證方式從 auth_socket 改為 mysql_native_password

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'xara5463';

刷新權限,使變更生效

FLUSH PRIVILEGES;

退出 MySQL

exit;

docker 操作 sudo docker stop my-ubuntu-server sudo docker rm my-ubuntu-server

啟動新容器 sudo docker run -d -p 2222:22 -p 5000:5000 --name my-ubuntu-server nads-docker

使用不同的容器名稱 sudo docker run -d -p 2222:22 -p 5000:5000 --name my-ubuntu-server-2 nads-docker

透過 SSH 登入您的 Docker 容器 ssh root@localhost -p 2222

檢查 Port 2222 是否被其他服務佔用 如果舊容器不存在,但錯誤仍然出現,那代表有其他應用程式佔用了 2222 Port。您可以使用 netstat 或 lsof 指令來檢查。

使用 netstat 檢查:

Bash

sudo netstat -tulpn | grep 2222 如果指令有任何輸出,就表示有程序正在使用這個 Port。

使用 lsof 檢查:

Bash

sudo lsof -i :2222

列出所有正在執行的容器: sudo docker ps

列出所有容器(包括已停止的): sudo docker ps -a 如果 docker ps 沒有顯示,它可能已經停止了。使用 -a 參數可以查看所有容器。

停止容器

sudo docker stop my-ubuntu-server

移除容器

sudo docker rm my-ubuntu-server

#檢查 Port 2222 是否被其他服務佔用 如果舊容器不存在,但錯誤仍然出現,那代表有其他應用程式佔用了 2222 Port。您可以使用 netstat 或 lsof 指令來檢查。

使用 netstat 檢查: sudo netstat -tulpn | grep 2222 如果指令有任何輸出,就表示有程序正在使用這個 Port。

使用 lsof 檢查: sudo lsof -i :2222 這會顯示佔用該 Port 的程式名稱和 PID (Process ID)。

  1. 重新啟動 Docker 容器 在確認 Port 2222 沒有被佔用後,您可以再次執行啟動指令: sudo docker run -d -p 2222:22 -p 5000:5000 --name my-ubuntu-server nads-docker 這次,Docker 應該能夠成功啟動容器,並將 Port 2222 和 5000 正確地轉發到容器內部。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages